Ural1090 (树状数组求逆序数)
2014-10-11 19:16
330 查看
挺水挺经典的一道题,其他oj也有这样的题。直接贴代码辣~~
//就是求逆序数 ,然后找最大逆序数的组 //每次按照输入顺序插入数组,然后,插入之前求和计算逆序数,每一排计算以后再进行比较 #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define maxn 10005 int c[maxn*4]; int a[maxn]; int n,k; int lowbit(int x) { return x&-x; } void add(int p,int val) { for(int i=p;i<=n;i+=lowbit(i)) c[i]+=val; } int sum(int x) { int sum=0; for(int i=x;i;i-=lowbit(i)) sum+=c[i]; return sum; } int main() { // freopen("q.in","r",stdin); int i,j,p,mmax=-1,s,res; scanf("%d%d",&n,&k); for(i=1;i<=k;i++) { s=0; memset(c,0,sizeof(c)); for(j=1;j<=n;j++) { scanf("%d",&p); add(p,1); s+=(j-sum(p)); } if(mmax<s) { mmax=s; res=i; //cout<<res<<endl; } } cout<<res<<endl; }
相关文章推荐
- URAL - 1090 树状数组求逆序数
- 线段树或树状数组求逆序数(附例题)
- hdu 5147 Sequence II (树状数组 求逆序数)
- 小朋友排队——树状数组求逆序数
- nyist oj 117 求逆序数 (归并排序&&树状数组)
- 历届试题 小朋友排队(树状数组求逆序数)
- Ural 1028 Stars(树状数组)
- POJ 3067 Japan(树状数组求逆序数)
- poj 2229 Ultra-QuickSort(树状数组求逆序数)
- 树状数组求逆序数
- POJ 3067 树状数组求逆序数
- POJ2299--树状数组求逆序数
- POJ2299:Ultra-QuickSort(树状数组求逆序数)
- poj3067(树状数组求逆序数)
- POJ 3067 Japan(利用树状数组求逆序数)
- 树状数组求逆序数的模板
- poj 3067 Japan 树状数组求逆序数
- POJ 3067-Japan(树状数组-逆序数)
- Codeforces Round #301 (Div. 2) E . Infinite Inversions 树状数组求逆序数
- 树状数组 求逆序数