反序表
文章平均质量分 60
ZigZagK
一个蒟蒻。
展开
-
【反序表】POJ3761[Bubble Sort]题解
题目概述对一个 nn 的排列进行冒泡排序,求冒泡排序次数为 KK 的排列有多少个。ps:冒泡排序流程:从左往右检查相邻两个元素是否有序,如果不有序,则交换这两个元素(一次冒泡);重复冒泡直到排序完成。解题报告一个排列 {An}\{A_n\} 的反序表 {Bn}\{B_n\} 为: Bi=∑i−1j=0[Aj<Ai]B_i=\sum_{j=0}^{i-1}[A_j<A_i] 即 Bi=B_i= 在 i原创 2017-09-09 12:19:13 · 618 阅读 · 0 评论 -
【反序表+DP】51Nod1020[逆序排列]题解
题目概述求 nn 的排列中逆序对数为 KK 的方案数。解题报告好像在水博客?如果知道反序表这种东西这就是道很简单的DP了。定义 f[i][j]f[i][j] 表示反序表前 ii 个的和为 KK 的方案数,那么 f[i][j]=∑min(j,i−1)k=0f[i−1][j−k]f[i][j]=\sum_{k=0}^{min(j,i-1)}f[i-1][j-k] ,记录一下前缀和就能够优化到 O(nK)原创 2017-09-09 14:03:02 · 380 阅读 · 0 评论 -
【反序表+树状数组】Codeforces Round #441(Div.2)D[Sorting the Coins]题解
题目概述刚开始有一个全是 11 的序列,现在给出 mm 操作,每个操作把一个位置改成 00 ,每次操作完成后求冒泡(从大到小)次数。解题报告这道题明显是个伪反序表(不是排列),但是可以沿用反序表的性质:冒泡的次数 =Bmax=B_{max} ( BB 是反序表)。由于只有 00 和 11 ,所以反序表的最大值位置 maxmax 我们是可以确定的,那就是最后一个 00 的位置。所以每次维护最后一个 0原创 2017-10-17 14:30:14 · 268 阅读 · 0 评论