并归排序+P1136求逆序对个数
并归排序介绍
说道并归排序,其实运用到了递归,首先将一个很大很大的数分割为两个两个的,然后让这两个数进行比较排序,比较之后返回上一级,然后4个4个比较,首先举个例子:
举例讲解初始数据:4 3 5 9 6 2 8 1
分割:4 3 5 9 6 2 8 1
比较:3 4 5 9 2 6 1 8
合并:(1):3 4 5 9
首先3和5比较 3进队:3
(2): 4 5 9
然后5和4比较 4进队:3 4
(3): 5 9
然后5进队 3 4 5
(4): 9
最后9进队 3 4 5 9
相同的方法合并2 6 1 8
然后把两个有序数列再次排序:
3 4 5 9 1 2 6 8
1和3比较 1进队:1
2和3比较 2进队:1 2
6和3比较 3进队:1 2 3
6和4比较 4进队:1 2 3 4
……
最后9进队:1 2 3 4 5 6 8 9
这里特别说明一下:我们在比较的时候,给两个有序数列分别记录下来比到哪里了,不如我们可以用a=1,b=1分别表示两个有 ...
Talk to self
8a972074cb8fb594adf191142c932486f63d9db6a4bbbbf65eb58b44e7f3a502bf39018f905465d9a27642a240af08ff411151db84a33655785570af8e0eb5f97a96b56a3f75744687285b8d806e4d4104fdd124ef8edef1033a75bc65f5d5f49a7aa25cf739680a0ef85593db7a90a97a805c0848a96743a937cdf7bfb23e349c7c49ff27b26d13ff36ad3dbedece32c5c7ee0ca5d5dbc7bcb2cf11aab8b1bb8997007dce3bec55be4c79fc4472fc6313ec795863dc3d1efee34e9ef7180969bb5150f5b997d0e6e74d0017d5df5975e4ab1b4309ffbefda2a0fa917f5ad648bd1e86d22d9663342393e5a38d659f4fd722d571103963fdf ...
Hello Word !
Hello Word !1.前言
这个博客诞生了,超级期待以后这个博客能一直陪伴着我整个OI,ACM,程序开发的生涯,这将记录下来我的点点滴滴的,这是我人生中最宝贵的收获。——Xorex
其实最神奇的是可以嵌套使用啊QAQ
2.各种尝试
-第一项
-第二项
-第三项
-第四项
-第五项
然后激动地我开始敲了一段二分图匹配的匈牙利算法
123456789101112131415161718192021222324252627282930const int N=555;///两边的最大数量bool tu[N][N];int from[N];///记录右边的点如果配对好了它来自哪里bool use[N];///记录右边的点是否已经完成了配对int n,m;///m,n分别表示两边的各自数量,n是左边,m是右边bool dfs(int x){ for(int i=1;i<=m;i++)///m是右边,所以这里上界是m if(!use[i]&&tu[x][i]) { use[i]=1; ...