【POJ】2299 Ultra-QuickSort 树状数组
来源:互联网 发布:淘宝微商怎么做 编辑:程序博客网 时间:2024/06/01 08:17
树状数组求逆序对
WQNMD long long
#include <cstdio>#include <cstring>#include <algorithm>#define C (c=nc())using namespace std;struct wjnsb{long long x,pla;}a[500005];long long ans,n,tr[500005];inline char nc(void){static char ch[100010],*p1=ch,*p2=ch;return p1==p2&&(p2=(p1=ch)+fread(ch,1,100010,stdin),p1==p2)?EOF:*p1++;}inline void read(long long &n){static char c;long long f=1;n=0;C;while (c<'0'||c>'9') c=='-'?f=-1,C:C;while (c>='0'&&c<='9') n=(n<<3)+(n<<1)+c-48,C;return (void)(n*=f);}bool mmp(wjnsb i,wjnsb j){return i.x<j.x;}bool cmp(wjnsb i,wjnsb j){return i.pla<j.pla;}void add(long long x){for (register long long i=x;i<=n;i+=i&-i) tr[i]++;}long long query(long long x){long long ans=0;for (register long long i=x;i>=1;i-=i&-i) ans+=tr[i];return ans;}int main(void){while (1){read(n);if (n==0) return 0;ans=0;memset(tr,0,sizeof(tr));register long long i;for (i=1;i<=n;++i)read(a[i].x),a[i].pla=i;sort(a+1,a+1+n,mmp);for (i=1;i<=n;++i) a[i].x=i;sort(a+1,a+1+n,cmp);for (i=1;i<=n;++i){add(a[i].x);ans+=i-query(a[i].x);}printf("%lld\n",ans);}}
阅读全文
0 0
- poj 2299 Ultra-QuickSort (树状数组解法)
- poj - 2299 - Ultra-QuickSort(树状数组)
- [树状数组]POJ 2299 Ultra-QuickSort
- POJ 2299 Ultra-QuickSort(树状数组)
- Poj 2299 Ultra-QuickSort 树状数组 解法
- POJ 2299 Ultra-QuickSort(树状数组)
- POJ 2299 Ultra-QuickSort (树状数组)
- POJ 2299 Ultra-QuickSort(树状数组)
- poj 2299 Ultra-QuickSort(树状数组)
- POJ - 2299 Ultra-QuickSort(树状数组)
- POJ 2299 Ultra-QuickSort 树状数组
- POJ 2299 Ultra-QuickSort 树状数组
- POJ 2299 Ultra-QuickSort [树状数组做法]
- POJ 2299 Ultra-QuickSort 树状数组
- POJ 2299 Ultra-QuickSort(树状数组)
- POJ 2299 Ultra-QuickSort (树状数组)
- POJ 2299 Ultra-QuickSort 树状数组
- POJ 2299 Ultra-QuickSort(树状数组)
- java程序员从笨鸟到菜鸟之(二十三)集合之List接口
- keras之一维卷积实现
- 【EXP】exp-00091解决办法
- 前几天整理的面经
- windows下lsc配置以及运行
- 【POJ】2299 Ultra-QuickSort 树状数组
- Java抽象类的使用
- eclipse 中Maven项目 的maven install 、build 、clean
- 25岁Java工程师如何转型学习人工智能?
- 线程--简单多线程通信实例
- CXF打印SOAP报文,记录WebService日志
- 关于matlab licence许可到期问题
- Fresco加载gif实现圆角(无动画)
- 新Bos项目使用的技术