poj 2299 Ultra-QuickSort
来源:互联网 发布:vscode react 编辑:程序博客网 时间:2024/06/06 01:24
此题是一道排序题,但是数据量大,即使时间长,用冒泡之类的同样会超时,此时接触了,归并排序,用到分治思想。。。
代码:
#include<stdio.h>#include<string.h>int num[500002];int nl[500003];int nr[500002];long long t;void compute(int top,int mid,int end){ for(int i=top; i<=mid; i++) nl[i]=num[i]; nl[mid+1]=0x7ffffff; for(int i=mid+1; i<=end; i++) nr[i]=num[i]; nr[end+1]=0x7ffffff; int p=top; int q=mid+1; for(int i=top; i<=end; i++) if(nl[p]<=nr[q]) { num[i]=nl[p++]; } else { num[i]=nr[q++]; t+=(mid-p+1); }}void msort(int top,int end){ if(top<end) { int mid=(top+end)/2; msort(top,mid); msort(mid+1,end); compute(top,mid,end); }}int main(){ int n; while(scanf("%d",&n),n) { t=0; for(int i=1; i<=n; i++) scanf("%d",&num[i]); msort(1,n); printf("%lld\n",t); } return 0;}
0 0
- POJ 2299 Ultra-QuickSort
- poj 2299 Ultra-QuickSort
- poj 2299 Ultra-QuickSort
- poj 2299 Ultra-QuickSort
- poj 2299 Ultra-QuickSort
- poj 2299Ultra-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 2299 Ultra-QuickSort
- POJ 2299 - Ultra-QuickSort
- POJ 2299 Ultra-QuickSort
- POJ 2299 Ultra-QuickSort
- POJ 2299 Ultra-QuickSort
- POJ 2299 Ultra-QuickSort
- Android多媒体开发【7】-- AwesomePlayer中TimedEventQueue-event事件调度器
- java的Random类的使用
- 黄班长2014-3-17-下午2点。
- VC# TMSChart图形绘制
- Tomcat: IOException while loading persisted sessions: java.io.EOFException
- poj 2299 Ultra-QuickSort
- mfc与win32区别
- Fedora的帮助网页--详细的哟
- 程序出现Access violation - code c0000005 (first chance)的解决方法
- PostgreSQL与MySQL命令比较
- 沟通管理技巧漫谈
- 开发人员、程序员与计算机科学家三者之间的区别
- 在C和C++里,要尽量避免使用 system("pause")
- 当构造函数定义在private或者protected里时