博客
关于我
归并排序 · 求逆序对
阅读量: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 InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
mysql problems
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>