算法竞赛入门经典 LA 4329(树状数组)
题意:
一排有着不同能力值的人比赛,规定裁判的序号只能在两人之间,而且技能值也只能在两人之间
问题:
《算法竞赛入门经典-训练指南》的分析:
上代码:
#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(树状数组)的更多相关文章
- LA 4329 (树状数组) Ping pong
第一次写树状数组,感觉那个lowbit位运算用的相当厉害. 因为-x相当于把x的二进制位取反然后整体再加上1,所以最右边的一个1以及末尾的0,取反加一以后不变. 比如1000取反是0111加一得到10 ...
- LA 4329(树状数组)
题目描述: N <tex2html_verbatim_mark>(3N20000) <tex2html_verbatim_mark>ping pong players live ...
- poj Ping pong LA 4329 (树状数组统计数目)
Ping pong Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2302 Accepted: 879 Descript ...
- [刷题]算法竞赛入门经典 3-7/UVa1368 3-8/UVa202 3-9/UVa10340
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 都是<算法竞赛入门经典(第二版)>的题目,标题上没写(第二版) 题目:算法竞赛入门经典 3-7/UVa13 ...
- (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO
http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...
- 算法竞赛入门经典+挑战编程+USACO
下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...
- [刷题]算法竞赛入门经典 3-12/UVa11809
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-4/UVa11809:Floating-Point Numbers 代码: //UVa11 ...
- [刷题]算法竞赛入门经典 3-10/UVa1587 3-11/UVa1588
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-10/UVa1587:Box 代码: //UVa1587 - Box #include&l ...
- [刷题]算法竞赛入门经典 3-4/UVa455 3-5/UVa227 3-6/UVa232
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-4/UVa455:Periodic Strings 代码: //UVa455 #inclu ...
随机推荐
- Python进阶-XVI 继承 单继承 多继承
一.初识继承 1.引入继承 class A(object): pass # 父类,基类,超类 class B: pass # 父类,基类,超类 class A_son(A, B): pass # 子类 ...
- C# git忽略文件 (.gitignore )
# Visual Studio # User-specific files *.suo *.user *.userosscache *.sln.docstates # User-specific fi ...
- vscode (1.41.0版本,1.41.1版本)node_modules部分TS声明文件@types包会导致该版本没JS语法提示
正常提示如下: 然而我的提示没了,本以为是插件问题,把所有插件禁用不行!卸载重装vscode还是不行!!但是其他电脑的1.41.1版本,同样代码确没问题!!!简直日了*了 折腾大半天,发下问题如下: ...
- CSP-J&S2019第二轮游记认证
Day 0 我毕竟不是竞赛省,在黑龙江这个弱省任何初中都没有竞赛生的----在初中,文化课第一----永远如此. 因而,我并不能翘掉周五的文化课来复习或是提前前往省城参加下午2:00~6:00的试机. ...
- Java 未来行情到底如何,来看看各界人士是怎么说的
这是黄小斜的第102篇文章 作者 l 黄小斜 来源 l 公众号[程序员黄小斜](ID:AntCoder) 转载请联系作者(wx_ID:john_josh) Java从出生到现在已经走过了 20 多个年 ...
- JVM调优YoungGC
先上代码: 主函数: public class GCDemo { public static void main(String[] args) throws InterruptedEx ...
- angular修改端口号port
报错:Port 4200 is already in use. Use '--port' to specify a different port. 因为4200端口已被使用,请使用“--port”修改 ...
- 使用App.Metrics监控消息队列
使用App.Metrics监控消息队列 一.简介 App Metrics是一个开放源代码和跨平台的.NET库,用于记录应用程序中的指标.App Metrics可以在.NET Core或也支持.NET ...
- vue中使用better-scroll的2种方式简述
前言 better-scroll官方demo展示:https://ustbhuangyi.github.io/better-scroll/#/examples/en better-scroll官方文档 ...
- mycat 白话配置
1.server.xml <user name="root" defaultAccount="true"> <property name=&q ...