HDOJ3743<分治>
2016-04-03 14:09
399 查看
题意:求一个排列的逆序数。
#include<cstdio> #include<iostream> #include<algorithm> const int maxn=1000005; int maze[maxn],temp[maxn]; long long ans; void union_set(int l,int mid,int r) { int i=l,j=mid+1,k=0; while(i<=mid&&j<=r){ if(maze[i]>maze[j]){ ans+=mid+1-i; temp[k++]=maze[j++]; } else temp[k++]=maze[i++]; } while(i<=mid)temp[k++]=maze[i++]; while(j<=r) temp[k++]=maze[j++]; for(int i=0;i<k;i++) maze[l+i]=temp[i]; } void merge_sort(int l,int r) { if(l==r)return ; int mid=(l+r)/2; merge_sort(l,mid); merge_sort(mid+1,r); union_set(l,mid,r); } int main () { int n; while(~scanf("%d",&n)) { ans=0; for(int i=0;i<n;i++) scanf("%d",&maze[i]); merge_sort(0, n-1); printf("%lld\n",ans); } return 0; }
相关文章推荐
- 我们使用Linux的真正原因
- 数据链路层综述
- Linux安装rmp包,缺少依赖包安装教程
- HTML 5
- Android设计模式之单例模式 Singleton
- 2. SQL 语句本身的优化(慢查询)
- 在Android Studio中安装OpenCV mac环境/Linux环境
- 排序
- 【Hadoop】Map和Reduce个数问题
- Unity3D~2D游戏背景的循环滚动
- Java中如何遍历Map对象的4种方法
- 例程9. NRF24L01工程说明 -- 慕司板IAP15
- Skewed Sorting
- json_decode详解
- 深入理解CSS过渡transition
- Python—RabbitMQ
- Mac安装配置Tomcat环境
- mysql-5.7.11-winx64.zip安装
- xUtils框架
- 9 面向对象(final关键字,多态,抽象类,接口)