树状数组求逆序对数板子
来源:互联网 发布:空中杀手 知乎 编辑:程序博客网 时间:2024/05/16 18:53
#include<cstdio>#include<cstdlib>#include<iostream>#include<algorithm>#include<cstring>#include<queue>#include<stack>#include<set>#include<map>#include<cmath>#include<iomanip>#define debug(x) cerr<<#x<<"="<<x<<endlusing namespace std;typedef pair<int,int> pii;typedef long long ll;const int INF = 0x7f7f7f7f;const ll llINF = 0x7fffffffff;inline int init(){ int now=0,ju=1;char c;bool flag=false; while(1) { c=getchar(); if(c=='-')ju=-1; else if(c>='0'&&c<='9') { now=now*10+c-'0'; flag=true; } else if(flag)return now*ju; }}inline long long llinit(){ long long now=0,ju=1;char c;bool flag=false; while(1) { c=getchar(); if(c=='-')ju=-1; else if(c>='0'&&c<='9') { now=now*10+c-'0'; flag=true; } else if(flag)return now*ju; }}struct node{int v,index;}p[510000];int lowbit(int x){return x&(-x);}int a[510000];int n;int b[500010];bool cmp(node a,node b){return a.v<b.v;}int getsum(int x){int tmp=x,tot=0;while(x){tot+=b[x];x-=lowbit(x);}return tot;}void build(int x){int tmp=x;for(;tmp+=lowbit(tmp);tmp<=n){b[tmp]+=p[x].v;}}void ins(int x,int v){for(int i=x;i<=n;i+=lowbit(i)){b[i]+=v;}}int main(){int ans=0;n=init();for(int i=1;i<=n;i++){p[i].index=i;p[i].v=init();}sort(p+1,p+1+n,cmp);for(int i=1;i<=n;i++){a[p[i].index]=i;}for(int i=1;i<=n;i++){ins(a[i],1);ans+=i-getsum(a[i]);}printf("%d\n",ans);return 0;}
0 0
- 树状数组求逆序对数板子
- 树状数组求逆序对数
- 《树状数组求逆序对数》
- 离散化+树状数组 求逆序对数
- hdu 4911 求逆序对数+树状数组
- 求数组逆序对数
- SGU 180-Inversions(树状数组离散化求逆序对数)
- POJ 2299 利用树状数组求逆序对数
- POJ-2299 Ultra-QuickSort (树状数组 离散 求逆序对数)
- 树状数组与逆序对数
- poj2299 Ultra-QuickSort&&NYOJ117 求逆序数 (树状数组求逆序对数+离散化)+(归并排序)
- 求数组的逆序对数
- 树状数组求Thair对数
- Ultra-QuickSort 求最小交换次数即求逆序对数 树状数组+离散化
- POJ 2299 Ultra-QuickSort 【归并排序 || 树状数组求逆序对数】
- POJ 2299 Ultra-QuickSort 求逆序对数(归并排序,树状数组)
- 求逆序对数的NLogN解法:归并排序、树状数组和线段树
- 蓝桥杯 历届试题 小朋友排队(归并,树状数组求逆序对数)
- svn解决冲突
- 本BLOG暂停更新,新BLOG见:http://wangchongjie.com
- 前端-减少页面加载时间的方法
- ubuntu16.04安装 mongodb-linux-x86_64-amazon-3.2.10.tgz
- oracle--预定义异常
- 树状数组求逆序对数板子
- Submit a Spark job to YARN from Java Code
- Git出现 fatal: Pathspec 'xxx' is in submodule 解决方案
- android开发之导入项目慢和中文路径报错
- mysql 5.7.16 x64 位ZIP的安装及服务没有报告任何错误
- laravel生成控制器
- Android 浏览器对 HTML5 的支持情况
- Linux 基本命令学习笔记《三》
- PendingIntent的用法,转载自网络大腿翻译文章