P1908 逆序对
来源:互联网 发布:恒久网络 编辑:程序博客网 时间:2024/05/17 08:05
题目描述
给n个数字,求出这条序列中有多少个逆序对。(i<j且a[i]>a[j])
样例输入
65 4 2 6 3 1
样例输出
11
思路
O(n log n)归并排序,排序是交换的次数就是逆序对的个数。
var a,r:array[1..100000] of longint; n,ans:longint;procedure msort(s,t:longint);var mid,i,j,k:longint;begin if s=t then exit; mid:=(s+t) div 2; msort(1,mid); msort(mid+1,t); i:=1;j:=mid+1; while i<=mid do begin k:=i; repeat if (a[i]<=a[j])or(j>t) then begin r[k]:=a[i]; inc(i); end else begin r[k]:=a[j]; inc(j); ans:=ans-i+mid+1; end; inc(k); until k>j; end; for k:=1 to t do a[k]:=r[k];end;var i:longint;begin readln(n); for i:=1 to n do read(a[i]); msort(1,n); writeln(ans);end.
1 1
- P1908 逆序对
- 洛谷 P1908 逆序对
- 洛谷 P1908 逆序对
- P1908 逆序对
- P1908 逆序对
- 洛谷 P1908 逆序对
- [P1908]逆序对
- P1908 逆序对
- P1908 逆序对
- 洛谷p1908逆序对
- 【洛谷】P1908逆序对
- [luogu]P1908逆序对
- |洛谷|分治|P1908 逆序对
- 归并模板& P1908 逆序对
- 洛谷P1908 逆序对(树状数组)
- 洛谷p1908 逆序对 归并排序
- 洛谷P1908逆序对(离散化+树状数组)
- 逆序数 & 逆序对
- 获取canvas的宽高及重置
- js_获取日期:前天、昨天、今天、明天、后天
- 27. Remove Element
- javascript的继承
- html_页面嵌入video
- P1908 逆序对
- 页面表格导出Excel(无插件)
- ibatis_ECside数据库分页
- 启动dubbo-admin报错
- Excel
- NMDeviceState
- 第6章 HTTP头部(2) End-to-end、Hop-by-hop
- cmd_中文转换为ascii
- Oracle_游标示例