题意

  一排有着不同能力值的人比赛,规定裁判的序号只能在两人之间,而且技能值也只能在两人之间

问题

  

《算法竞赛入门经典-训练指南》的分析:


上代码

  

 #include<iostream>
#include<cstring>
using namespace std; const int maxa = +;
const int maxn = +; int a[maxn];
int BIt[maxa];
int c[maxn];
int d[maxn];
int n;
long long ans;
int lowbit(int x)
{
return x&(-x);
}
int sum(int x)
{
int ret = ;
while(x>)
{
ret += BIt[x];
x -= lowbit(x);
}
return ret;
}
void update(int x)
{
while(x<=maxa-)
{
++BIt[x];
x += lowbit(x);
}
}
int main()
{
//ios::sync_with_stdio(false);
int t;
//cin>>t;
scanf("%d",&t);
while(t--)
{
ans = ;
memset(BIt,,sizeof(BIt));
memset(c,,sizeof(c));
cin>>n;
for(int i=;i<=n;i++)
{
//cin>>a[i];
scanf("%d",&a[i]);
}
for(int i=;i<=n-;i++)
{
c[i]=sum(a[i]-);
update(a[i]);
}
memset(BIt,,sizeof(BIt));
memset(d,,sizeof(d));
for(int i=n;i>=;i--)
{
d[i]=sum(a[i]-);
update(a[i]);
}
for(int i=;i<=n-;i++)
ans +=c[i]*(n-i-d[i])+(i-c[i]-)*d[i];
cout<<ans<<endl; }
return ;
}

ps:

  初学ing,写的不好。纯属自用

算法竞赛入门经典 LA 4329(树状数组)的更多相关文章

  1. LA 4329 (树状数组) Ping pong

    第一次写树状数组,感觉那个lowbit位运算用的相当厉害. 因为-x相当于把x的二进制位取反然后整体再加上1,所以最右边的一个1以及末尾的0,取反加一以后不变. 比如1000取反是0111加一得到10 ...

  2. LA 4329(树状数组)

    题目描述: N <tex2html_verbatim_mark>(3N20000) <tex2html_verbatim_mark>ping pong players live ...

  3. poj Ping pong LA 4329 (树状数组统计数目)

    Ping pong Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2302   Accepted: 879 Descript ...

  4. [刷题]算法竞赛入门经典 3-7/UVa1368 3-8/UVa202 3-9/UVa10340

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 都是<算法竞赛入门经典(第二版)>的题目,标题上没写(第二版) 题目:算法竞赛入门经典 3-7/UVa13 ...

  5. (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

    http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...

  6. 算法竞赛入门经典+挑战编程+USACO

    下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...

  7. [刷题]算法竞赛入门经典 3-12/UVa11809

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-4/UVa11809:Floating-Point Numbers 代码: //UVa11 ...

  8. [刷题]算法竞赛入门经典 3-10/UVa1587 3-11/UVa1588

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-10/UVa1587:Box 代码: //UVa1587 - Box #include&l ...

  9. [刷题]算法竞赛入门经典 3-4/UVa455 3-5/UVa227 3-6/UVa232

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-4/UVa455:Periodic Strings 代码: //UVa455 #inclu ...

随机推荐

  1. jQ的select事件和trigger方法的小冲突

    方法和事件都不难理解,分开用也都没问题,但是一起用就有些小问题出现. 直接上结论:使用trigger方法触发一个文本类型的 input 元素的select事件时,chrome浏览器会错误的触发三次,f ...

  2. html头部标签汇总

    <!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...

  3. C++ 异或运算及其应用

    前置知识: 1.一个整数自己跟自己异或,结果为0   //因为异或的法则为,相同为0,不同为1,注意这里所说的都是二进制位. 2.任意一个整数跟0异或,结果为本身. //因为1异或0得1,0异或0,得 ...

  4. chentos7 安装jdk1.8(二进制安装)

    首先下载jdk1.8 去官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h ...

  5. Ubuntu安装有道词典

    dpkg -i youdao-dict.deb正常安装 会报一堆依赖关系的错误, 1.更新系统 #更新系统 apt-get update apt-get dist-upgrade 2.对每一个未安装的 ...

  6. R语言- 实验报告 - 利用R语言脚本与Java相互调用

    一. 实训内容 利用R语言对Java项目程序进行调用,本实验包括利用R语言对java的.java文件进行编译和执行输出. 在Java中调用R语言程序.本实验通过eclipse编写Java程序的方式,调 ...

  7. Unreal Engine 4 系列教程 Part 7:音频教程

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  8. CentOS 7.6 安装htop

    yum -y install epel-release.noarch yum -y install htop htop 上面左上角显示CPU.内存.交换区的使用情况,右边显示任务.负载.开机时间,下面 ...

  9. IDEA设置外部比对工具Beyond Compare

    设置IDEA使用外部的比对工具,比如Beyond Compare,其实很简单,但是可能好几年才会设置一次,比如换工作的时候,所以记录下来 可以通过菜单File-Settings 或者直接快捷键ctrl ...

  10. Entity Framework 6 中如何获取 EntityTypeConfiguration 的 Edm 信息?(四)

    经过上一篇,里面有测试代码,循环60万次,耗时14秒.本次我们增加缓存来优化它. DbContextExtensions.cs using System; using System.Collectio ...