随笔分类 - DP
摘要:LCVII.[POI2013]LUK-Triumphal arch 明显题目具有可二分性。 考虑如何check。 我们发现,一个足够聪明的B,必定不会走回头路。故最终结果一定是一条从根到某个叶子的路径。 我们发现,如果一个父亲已经染掉了它所有儿子,它剩余的操作次数便可以去染儿子,以防到了某个儿子的时
阅读全文
摘要:LCVI.[HNOI2007]梦幻岛宝珠 好题。 明显它是01背包的模型,但值域过大。咋办呢? 我们考虑令 \(f_{i,j}\) 表示只考虑 \(a\times 2^i\) 类型的物品,关于 \(a\) 做的一个背包。显然,暴力求出这个东西的时空复杂度都是可接受的。 我们再考虑 \(g_{i,j}
阅读全文
摘要:LCIV.[NOI2005]瑰丽华尔兹 思路1.$O(N^2T)$暴力DP——设$f[t,i,j]$表示$t$时刻在位置$(i,j)$时的最长路径。显然会T。 思路2.$O(N^2T)$暴力DP——观察到一段长为$len$的时间内向某个方向每时刻移动一格,等价于总共移动$len$格。又因为随时可以停
阅读全文
摘要:LCIII.[CERC2014]Outer space invaders 一种错误的思路是观察到一定可以构造出一种最优状态使得每次射击都发生在外星人消失的时刻,然后就将所有外星人按照消失时刻排序并设$f[i,j]$表示在第$i$个外星人消失的时刻如果你开了一炮高为(离散化后)$j$的最小费用——但很
阅读全文
摘要:LCII.GYM102082E Eulerian Flight Tour (原题是PDF,没有题面的直接页面,就放一个vjudge的链接罢) 首先,当$n$是奇数时,完全图一定是欧拉图,故直接全连即可。 当$n$是奇数时,原图是欧拉图等价于补图上每个节点的度数都为奇。每个节点度数都为奇的充分必要条件
阅读全文
摘要:LCI.CF979E Kuro and Topological Parity 我们考虑在一张染色完成的图里,我们连上了一条边,会有何影响? 在同色节点间连边——明显不会有任何影响 在异色节点间连边,但是出发点是个偶点(即有偶数条路径以其为终点的节点)——终点的路径数增加了,但增加的是偶数,故也无影响
阅读全文
摘要:LC.CF GYM100739J.Longest cheap palindrome 我们设$f[i,j,k,l,r]$表示: 当前左端取到了位置$i$,右端取到了位置$j$; 当前选择的子序列长度为$k$; 区间$[i,l],[r,j]$中所有字符都被选择时,最小要付出的代价。 转移很简单,枚举左右
阅读全文
摘要:LXXXIX.CF288E Polo the Penguin and Lucky Numbers 题解
阅读全文
摘要:LXXXVIII.CF543D Road Improvement 常规换根DP题。 我们可以设$f_i$表示以$i$为根的子树中的方案数。则有转移式 \(f_i=\prod\limits_{j\in son_i}(f_j+1)\) 其中$+1$的意思是将边$(i,j)$留作坏边。 显然换根DP就很好
阅读全文
摘要:LXXXVII.CF938F Erasing Substrings 一个naive的想法是设$f_{i,j}\(表示在位置\)[1,i]$中,我们删去了长度为$2k(k\in j)$的一些串,所能得到的最小字典序。使用二分+hash可以做到$O(n2\log^2 n)$,无法承受。 发现对于状态$f
阅读全文
摘要:LXXXVI.CF295D Greg and Caves 题解
阅读全文
摘要:XXXV.CF401D Roman and Numbers 思路: 我们设$num_i$表示$n$中出现了多少个数字$i$。然后就可以设$f[i][j]$表示当填入数字的状态是$i$,且当前数$%m$的余数是$j$时的方案数。则直接转移即可。 复杂度$O(18*2^{18}*m)$。 代码: #in
阅读全文
摘要:LXXXIII.CF261D Maxim and Increasing Subsequence 首先,我们可以发现,当这个重复次数很大的时候,答案就等于序列中出现的不同权值个数。实际上,这个“很大”就可以被当作“大于等于不同权值个数”。 不同权值个数实际上是$\min(n,m)$级别的,其中$n$是
阅读全文
摘要:LXXXII.UOJ#11. 【UTR #1】ydc的大树 很明显,如果我们令一个黑点$x$为树根,设它的“好朋友”集合为$\mathbb\(,则路径\)(x,\operatorname{\mathbb})$中所有白节点均可以使$x$不开心。这个可以用树上差分来进行路径加。现在关键是求出$\oper
阅读全文
摘要:LXXXI.CF1312G Autocompletion 题解
阅读全文
摘要:LXXX.[AGC024E] Sequence Growing Hard 首先,我们肯定能想到从第一个序列开始,依次加入一个新数得到下一个序列,同时还要保证字典序递增。我们如果让新数递增的话,就可以DP了。 我们首先观察往一个序列中加入一个不大于最大值的数会有多少种可能: 我们在$1323$中加入一
阅读全文
摘要:LXXIX.[AGC013D] Piling Up 一个很naive的思路就是设$f[i][j]$表示当前进行了$i$步,并且盒子中剩下了$j$个白球的方案数,然后直接DP即可。 但是这样是有问题的——它没有考虑到重复计算的问题。 我们不妨令$+\(符号表示取出黑球,\)-$符号表示取出白球。 则一
阅读全文
摘要:LXXVIII.[USACO12OPEN]Bookshelf G 转移很简单,直接设$f[i]$表示前$i$个位置书架的最小高度和即可。 考虑转移。 我们有暴力的公式 \(f[i]=\min\limits_{j=1}^{i}\Big\{f_{j-1}+\max\{h_j,\dots,h_i\}\Bi
阅读全文
摘要:LXXVII.[CmdOI2019]任务分配问题 这道题与LXI.CF868F Yet Another Minimization Problem长得很像。实际算法也类似。 首先,题意就是把所有数划分成$k$段,使得每段内部正序对数量之和最少。设$w(i,j)\(表示区间\)(i,j)$内部正序对数量
阅读全文

浙公网安备 33010602011771号