随笔分类 - 动态规划---计数dp
摘要:题面 "洛谷" 题解 令$f_i$表示$i$个数的排列,最大的数填在了最后一个位置,且这个$\text{fast_max}$函数尚未返回的方案数。 枚举数$i 1$的位置,那么$i 1$必然填在区间$[i k,i 1]$内,否则函数就会返回。 那么我们有 $$ \begin{aligned} f_i
阅读全文
摘要:题面 "洛谷" 题解 令$f_i$表示大小为$i$的竞赛图的场数期望,$g_i$表示形成大小为$i$的$SCC$的概率,$h_{i,j}$为$i$个人打比赛,其中$j$个人被剩下$i j$个人打爆的概率。 枚举最后一个$SCC$的大小,有 $$ f_i=\sum_{j=1}^i g_jh_{i,j}
阅读全文
摘要:题面 "洛谷" 题解 实际上是各个环之间的森林上的链不重复覆盖边的问题。 原问题是不能覆盖重边的,但是我们这里假设可以覆盖重边,一条边不覆盖就等价于覆盖一条重边, 那么问题转化为覆盖树上所有边有多少种方法。 注意到树上某个点的方案数与其他点无关,而只与自己的度数有关,也就是说一个点的所有边进行不同的
阅读全文
摘要:题面 "洛谷" 题解 将每一轮操作之后的状态看作一条折线,其中横坐标是第$i$轮操作,纵坐标是剩余黑球的个数。 那么构建一条折线的方案就对应了一类不同的放球序列, 但是如果几条折线你可以上下平移得到就算重了,要保证不重的话,直接让最低点在$x$轴上即可。 设$f_{i,j,0/1}$表示当前在第$i
阅读全文
摘要:题面 "洛谷" 题解 将这个排列放到一个$n\times n$的棋盘上,那么一个排列问题可以转化为每行每列只填一个数的放置方法问题。 对于这题的限制,我们将一列不能放的位置涂黑,那么每一列就会有$1$至$2$个地方不能填(涂黑)。 考虑容斥这个东西,那么就是用至少$i$列涂黑格来容斥: $$ Ans
阅读全文
摘要:PKUWC2018题解 Minimax 显然最终权值只能是所有叶子中的权值,设$f_{i,j}$表示以$i$节点的数字为$j$的概率,这个dp很简单。 这时候暴力向上合并是$O(n^2)$的,想办法优化向上合并的效率。 考虑线段树合并,如果只有一个儿子直接继承就行了,关键是两个儿子也就是两颗线段树怎
阅读全文
摘要:【BZOJ4362】isn 题面 "bzoj" 题解 设$f[i][j]$表示当前在$i$,长度为$j$的最长不降子序列有多少个 这个可以用树状数组$n^2logn$求出 设$g[i]$为长度为$i$的不降子序列的和 则$g[i]=\sum_{j=1}^nf[j][i]$ 最后的答案乍一看是$(n
阅读全文