codevs 4163 hzwer与逆序对
2018-06-17 21:43:22来源:未知 阅读 ()
hzwer在研究逆序对。
对于数列{a},如果有序数对(I,j)满足:i<j,a[i]>a[j],则(i,j)是一对逆序对。
给定一个数列{a},求逆序对个数。
输入数据较大,请使用scanf代替cin读入。
*为防卡评测,时限调低至1s
第一行一个数n,表示{a}有n个元素。
接下来n个数,描述{a}。
一个数,表示逆序对个数。
5
3 1 5 2 4
4
对于10%数据,1<=n<=100.
对于20%数据,1<=n<=10000.
对于30%数据,1<=n<=100000.
对于100%数据,1<=n<=1000000,1<=a[i]<=10^8.
tips:我没有想故意卡你们时限。一点这样的意思都没有。你们不要听风就是雨……
比赛已结束 详细解析见题解
分类标签 Tags 点此展开
连树状数组求逆序对我都不会写了,,好弱啊
关于怎么实现,推荐一篇博客
http://www.cnblogs.com/xiongmao-cpp/p/5043340.html
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 #define LL long long 7 #define lb(x) ((x)&(-x)) 8 using namespace std; 9 const int MAXN=40000001; 10 inline int read() 11 { 12 char c=getchar();int x=0,f=1; 13 while(c<'0'||c>'9') {if(c=='-') f=-1;c=getchar();} 14 while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();return x*f; 15 } 16 int n; 17 int tree[MAXN]; 18 int a[MAXN]; 19 int data[MAXN]; 20 inline void Point_Add(int pos,int val) 21 { 22 while(pos<=n) 23 { 24 tree[pos]+=val; 25 pos+=lb(pos); 26 } 27 } 28 inline int Interval_Sum(int pos) 29 { 30 int ans=0; 31 while(pos) 32 { 33 ans+=tree[pos]; 34 pos-=lb(pos); 35 } 36 return ans; 37 } 38 int main() 39 { 40 n=read();LL ans=0; 41 for(int i=1;i<=n;i++) a[i]=read(),data[i]=a[i]; 42 int num=unique(data,data+n+1)-data-1; 43 sort(data+1,data+n+1); 44 for(int i=1;i<=n;i++) a[i]=lower_bound(data+1,data+num+1,a[i])-data; 45 for(int i=1;i<=n;i++) 46 { 47 Point_Add(a[i],1); 48 ans+=i-Interval_Sum(a[i]); 49 } 50 printf("%lld",ans); 51 return 0; 52 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:【noip 2003】神经网络
下一篇:Eff C++ 笔记1
- Codevs 3981 动态最大子段和 2019-08-16
- Codevs 1010 过河卒 2019-08-16
- 习题:codevs 1035 火车停留解题报告 2018-06-18
- 习题:codevs 2822 爱在心中 解题报告 2018-06-18
- 【小白入门向】tarjan算法+codevs1332上白泽慧音 题解报告 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash