归并排序求逆序对
来源:互联网 发布:利率敏感性缺口 数据 编辑:程序博客网 时间:2024/06/06 19:55
某人的讲解
归并排序好懂
求逆序对不好懂qwq
将2段序列合并时,如果后面序列的一个数比前面序列的一个数x小,他必然比第一个序列x后的所有数小,tot+=mid-i+1
(很简单是不是)
裸题
#include<iostream>#include<cstdio>using namespace std;int a[1000001],n,q[10000001],l,r,mid,m,i,j,k,tot;int sum(int l,int r){ m=(l+r)/2; i=l;j=m+1;k=1; while(i<=m&&j<=r) { if(a[i]<a[j]) q[k++]=a[i++]; else { q[k++]=a[j++]; tot+=m-i+1;//精髓 } } while(i<=m) { q[k++]=a[i++]; } while(j<=r) { q[k++]=a[j++]; } for(int j=l;j<=r;j++) { a[j]=q[j-l+1]; }}int pai(int l,int r){ mid=(l+r)/2; if(l<r) { pai(l,mid); pai(mid+1,r);//好好理解吧,类似线段树 sum(l,r); }}int main(){ cin>>n; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } pai(1,n); cout<<tot;}
阅读全文
0 0
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对~~~
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 归并排序求逆序对
- 大约已经是第五次重装Ubuntu了
- pyspider的使用
- Gym
- Spring MVC
- scu oj 4441 Necklace(dp+树状数组)(*)
- 归并排序求逆序对
- PAT1003. 我要通过!
- Wayland与Weston简介
- GIT工作流
- Cocos2dx中类库中Vector<T>容器的使用
- Value使用
- 提升网站权重的SEO优化基础,你会吗?
- 免费全功能响应式模板:黑暗元素
- 深度学习简易应用demo