P3157 [CQOI2011]动态逆序对 题目描述 对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 输入格式 输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。 ...
分类:
其他好文 时间:
2019-09-28 23:15:45
阅读次数:
118
分析 对于第一问我们直接从上到下枚举所有横边 每一次交换两边的列标号即可 对于第二问我们发现答案就是最终序列的逆序对数量 代码 ...
分类:
其他好文 时间:
2019-09-14 23:07:05
阅读次数:
181
"题目链接" Solution [CQOI2011]动态逆序对 题目大意:给定一个$n$个数的排列,依次删除$m$个元素,询问删除每个元素之前的逆序对数量 分析:对于这种依次删除元素的问题,我们的通常解法是 时间倒流,顺序删除变逆序插入 ,那么问题就转化为了每插入一个数 之后 (对应删除之前)询问逆 ...
分类:
其他好文 时间:
2019-09-12 21:14:01
阅读次数:
71
传送门 然鹅我并不觉得这道题很清新rua 思维巧妙!(参考) 对于第k小,我们可以这样考虑,若是第k小,那么比它小的方案应该是有k-1个。 在排列组合中,若固定i放在j位置,方案数是确定的,即:i固定在j位置,满足这个条件的序列的rank是在一个范围内的。 对于逆序对 常见思考方式是从小到大枚举数字 ...
分类:
其他好文 时间:
2019-08-21 11:43:36
阅读次数:
89
我真是个垃圾,滚回去刷普及组了 1>快速幂+模运算 我好垃圾啊,水题随便一写就是一小时,难过 2>幂次方 分解成二进制数 3>CDQ求逆序对数 ...
分类:
其他好文 时间:
2019-08-17 14:53:52
阅读次数:
65
(c) hdu1394 如在阅读本文时遇到不懂的部分,请在评论区询问,或跳转 线段树总介绍 线段树求逆序对数比较少见啊(归并排序多快啊...但是本文是讲解线段树写法...),何况这题还加了点别的玩意儿... 1. 本来这种题目要离散化的,可是体中保证了数列0~n-1. 2. 每次把首位放到最末,显然 ...
分类:
其他好文 时间:
2019-07-22 20:02:17
阅读次数:
132
题目链接:https://leetcode-cn.com/problems/k-inverse-pairs-array/ 题目大意 略。 分析 首先,1~n 这 n 个数所能产生的最大逆序对为 n * (n - 1) / 2 对。 设 dp[i][j] 表示 1~i 能产生 j 对逆序对的排列种数。 ...
分类:
编程语言 时间:
2019-07-14 14:58:08
阅读次数:
128
动态逆序对 CDQ分治 传送门:https://www.luogu.org/problemnew/show/P3157 题意: 对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 ...
分类:
其他好文 时间:
2019-07-14 00:17:57
阅读次数:
154
这是对的,值得思考,毕竟应用不是太少(所以要说服自己,用的时候更有底气)。 设一序列$a_1,a_2,\cdots,a_n$,其中有$a_i(1\leq i \leq n)$。 假设要通过交换$a_i$与某个数的位置来减少逆序对的数量。 交换的对象分这么几类: 1.$a_i$后面比$a_i$小的数 ...
分类:
编程语言 时间:
2019-07-09 22:10:47
阅读次数:
202
7.7 1、 树形 DP 的第一个数组继承,优化复杂度。字典树分叉数为 O(n) 。dsu on tree。 树形 DP f[x][min(SIZE, m)] ,复杂度 O(nm) ,组合证明。 2、 状态为有向边的树形 DP 。 树的直径中点唯一,可以用来枚举树的直径。 3、 分数规划 dinke ...
分类:
其他好文 时间:
2019-07-07 14:31:34
阅读次数:
107