SDUT 3402:数据结构实验之排序五:归并求逆序数
来源:互联网 发布:网络共享组策略 编辑:程序博客网 时间:2024/06/10 00:16
数据结构实验之排序五:归并求逆序数
题目大意:给你n个数字,让你求这n个数字所能组成的逆序对的个数。
这个题有个坑点在于,n的数据范围到10万,因此最大的逆序对个数超过了int的范围,要用long long型的变量来存。还有这个题目限制只有40ms,使用cin、cout输入输出将超时。
代码如下:
#include <stdio.h>int A[111111], T[111111];long long count;void merge_sort(int x, int y){ if (y - x > 1) { int m = x + (y-x) / 2; int p = x, q = m, i = x; merge_sort(x, m); merge_sort(m, y); while (p < m || q < y) { if (q >= y || (p < m && A[p] <= A[q])) T[i++] = A[p++]; else { T[i++] = A[q++]; count += m - p; } } for (i = x; i < y; i++) A[i] = T[i]; }}int main(){ int n; while (~scanf("%d", &n)) { count = 0; for (int i = 0; i < n; i++) scanf("%d", &A[i]); merge_sort(0, n); printf("%lld\n", count); } return 0;}
0 0
- SDUT-数据结构实验之排序五:归并求逆序数
- (模板题)sdut 3402 数据结构实验之排序五:归并求逆序数(归并排序)
- SDUT 3402 数据结构实验之排序五:归并求逆序数
- 数据结构实验之排序五:归并求逆序数 sdut oj 3402
- SDUT OJ 3402数据结构实验之排序五:归并求逆序数
- SDUT 3402:数据结构实验之排序五:归并求逆序数
- SDUT-3402 数据结构实验之排序五:归并求逆序数
- 3402 数据结构实验之排序五:归并求逆序数
- 3402 数据结构实验之排序五:归并求逆序数
- sdut oj3402 数据结构实验之排序五:归并求逆序数
- 数据结构实验之排序五:归并求逆序数
- 数据结构实验之排序五:归并求逆序数
- 数据结构实验之排序五:归并求逆序数
- 数据结构实验之排序五:归并求逆序数
- SDUT3402数据结构实验之排序五:归并求逆序数
- 数据结构实验之排序五:归并求逆序数
- 数据结构实验之排序五:归并求逆序数
- 数据结构实验之排序五:归并求逆序数
- Python-Dictionary-in成员检测
- C语言面试题(嵌入式开发方向,附答案及点评)
- http状态码
- Android再按一次退出的两种方法
- ftp下载与上传
- SDUT 3402:数据结构实验之排序五:归并求逆序数
- 设计模式六大原则(1):单一职责原则
- ButterKnife控件无响应
- leetcode 判断链表是否有环,且得到环的位子
- JPA criteria 查询
- 清结算内部勾兑业务一个比较有意思的问题整理
- 第16周项目1 -(2)快速排序
- zabbix使用zabbix_java_gateway 监控java应用进程 主动模式 python脚本
- Pig flume流配置文件