POJ 2299 Ultra-QuickSort(归并排序求逆序对数)
来源:互联网 发布:淘宝行业关键词转化率 编辑:程序博客网 时间:2024/04/30 11:52
题目地址:POJ 2299
今天下午的多校看来没有白做。。。实在做不出题闲着无聊看小白鼠学会了个归并排序。哈哈。
归并排序简单地说其实就是先分成一个二叉树直至单个,然后依次从最底层不断进行合并,逆序对数就是在合并的过程中,加入后面的那段中到了比他大的时候,那后面的那些就都是比他大的,都是逆序对数,所以直接加上即可。网上资料很多,就不细说了。。用了分治的思想。
自己根据理解写的代码,考虑的太不全面了。。又调了好长时间。。。
代码如下:
#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <queue>#include <cmath>#include <stack>#include <map>int a[6000000], cnt, c[6000000];long long k;void merg(int low, int mid, int high){ int i=low, j=mid+1; cnt=0; while(i<=mid&&j<=high) { if(a[i]>a[j]) { c[cnt++]=a[j++]; k+=mid-i+1; } else { c[cnt++]=a[i++]; } } while(i<=mid) { c[cnt++]=a[i++]; } while(j<=high) { c[cnt++]=a[j++]; } cnt=0;i=low; while(i<=high) { a[i++]=c[cnt++]; }}void merger(int low, int high){ int mid; if(low<high) { mid=(low+high)/2; merger(low,mid); merger(mid+1,high); merg(low,mid,high); }}int main(){ int i, n; while(scanf("%d",&n)!=EOF&&n) { k=0; for(i=0; i<n; i++) { scanf("%d",&a[i]); } merger(0,n-1); printf("%lld\n",k); } return 0;}
1 0
- POJ 2299 Ultra-QuickSort(归并排序求逆序对数)
- POJ 2299 Ultra-QuickSort 求逆序对数(归并排序,树状数组)
- POJ 2299 Ultra-QuickSort(归并排序求逆序数)
- poj 2299 Ultra-QuickSort(归并排序求逆序对)
- 2299 Poj Ultra-QuickSort(归并排序求逆序数)
- (POJ 2299)Ultra-QuickSort 归并排序求逆序数
- POJ 2299 Ultra-QuickSort 【归并排序 || 树状数组求逆序对数】
- POJ 2299 Ultra-QuickSort(逆序对数,线段树/树状数组/归并排序)
- POJ 2299 Ultra-QuickSort (求序列的逆序对数)
- 归并排序求 逆序对数 TOJ 1455 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-2299Ultra-QuickSort(BIT|归并排序求逆序对)
- poj 2299 Ultra-QuickSort (归并排序,逆序数)
- 工厂模式的Assembly.Load(path).CreateInstance(className)出错解决方法
- 设计模式之 ----------- 迭代器模式
- 破茧成蝶1:设计流程——设计师具体做什么?
- 昂贵的聘礼(最短路)
- BZOJ 1934 善意的投票(最小割)
- POJ 2299 Ultra-QuickSort(归并排序求逆序对数)
- Java将毫秒转成时分秒,在android中常用
- 截图
- 杭电1284 钱换为3,2,1分的硬币,换取的方法有多少种类
- Watch The Movie
- 关于Ubuntu配置文件apache2 httpd.conf位置
- VMvare 虚拟网卡vmnet1 and vmnet8
- VS2013编译libhackrf以及测试
- ap与sta共存