博客
关于我
归并排序 · 求逆序对
阅读量:250 次
发布时间:2019-03-01

本文共 784 字,大约阅读时间需要 2 分钟。

#include 
using namespace std;typedef long long ll;const int N = 1e6 + 10;int n, res, K;int a[N], b[N];void merge(int l, int r) { if (l >= r) return; int mid = l + r >> 1; merge(l, mid); merge(mid + 1, r); int i = l, j = mid + 1, k = l; while (i <= mid && j <= r) { if (a[i] <= a[j]) { b[k++] = a[i++]; } else { b[k++] = a[j++]; res += mid - i + 1;//统计答案 } while (i <= mid)b[k++] = a[i++]; while (j <= r)b[k++] = a[j++]; for (int i = l; i <= r; i++) { a[i] = b[i]; } }}int main() { ios::sync_with_stdio(0); cin >> n; for (int i = 1; i <= n; ++i) { cin >> a[i]; } merge(1, n); cout << res << endl; return 0;}

转载地址:http://cjet.baihongyu.com/

你可能感兴趣的文章
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>
mysql中的字段如何选择合适的数据类型呢?
查看>>
MySQL中的字符集陷阱:为何避免使用UTF-8
查看>>
mysql中的数据导入与导出
查看>>
MySQL中的时间函数
查看>>