UVa 1428 Ping pong
2014-02-06 21:20
351 查看
N <tex2html_verbatim_mark>(3
[C++]
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int n; int a[20050],temp[100050],c[20050],d[20050]; int lowbit(int x) { return x&(-x); } int sum(int x) { int ret=0; while(x>0) { ret+=temp[x]; x-=lowbit(x); } return ret; } void add(int x,int t) { while(x<=100000) { temp[x]+=t; x+=lowbit(x); } } int main() { int kase; scanf("%d",&kase); while(kase--) { memset(c,0,sizeof(c)); memset(d,0,sizeof(d)); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); memset(temp,0,sizeof(temp)); for(int i=1;i<=n;i++) { add(a[i],1); c[i]=sum(a[i]-1); } memset(temp,0,sizeof(temp)); for(int i=n;i>=1;i--) { add(a[i],1); d[i]=sum(a[i]-1); } long long ans=0; for(int i=2;i<n;i++) ans+=c[i]*(n-i-d[i])+d[i]*(i-1-c[i]); printf("%lld\n",ans); } return 0; }
[C++]
相关文章推荐
- uva 1428 - Ping pong(树状数组)
- UVA1428 Ping pong(树状数组)
- UVa:1428 Ping pong (树状数组)
- uva1428 Ping pong
- UVA-1428 - Ping pong(树状数组)
- UVA1428 Ping pong(树状数组)
- UVA1428 Ping pong(树状数组)
- UVa 1428 - Ping pong
- UVA 1428 - Ping pong(树状数组)
- uva 1428 - Ping pong(树状数组,4级)
- uva 1428 - Ping pong(树状数组,4级)
- UVA 1428 - Ping pong(树状数组)
- UVA1428 - Ping pong(树状数组)
- 【uva】1428 - Ping pong(树状数组)
- uva 1428 - Ping pong
- uva 1428 - Ping pong (树状数组的应用)
- UVA 1428 - Ping pong(树状数组)
- uva 1428 - Ping pong(树状数组)
- Beijing 2008 / UVa 1428 / POJ 3928 / HDU 2492 Ping pong (树状数组)
- UVA 1428 Ping Pong(树状数组)