2023.8.10 lty杂题选讲
[ARC107D] Number of Multisets
设 \(f[i][j]\) 表示用了 \(i\) 个数总和为 \(j\) 的方案数,初始化 \(f[i][i]=1\)
转移时,先考虑填 \(1\),则 \(f[i-1][j-1]\rightarrow f[i][j]\),如果填了分数,一步很牛逼的操作就是把能构成 \(j\times 2\) 的数字全部除以 \(2\),所以 \(f[i][j\times 2]\rightarrow f[i][j]\)
注意当 \(j>i\) 时 \(f[i][j]\) 无解
[AGC004C] AND Grid
牛逼构造题
对于原图的#,直接输出#即可。难的是怎么保证.的地方不重合,怎么保证联通
注意到原图边界一定没有被染色,这启示我们要好好利用这个性质
然后发挥想象力,我们可以将第一个图的第一列全部染色,然后非边界里的奇数行全部染色,第二个图的最后一列全部染色,然后非边界里的偶数行全部染色。惊奇地发现,这样可以同时满足以上的两个条件。
于是就这道题做完了(“没有想象力,是罪魁”)
CF1270G Subset with Zero Sum
牛逼构造题 \(\times 2\)
题面很简洁啊,但是给了个奇怪的条件:\(i-n\leq a_i\leq i-1\)。
不知道有啥用就乱移项一下,变成 \(1\leq i-a_i\leq n\)
然后发挥想象力,从 \(i\rightarrow i-a_i\) 连边,如果最后形成一个环,那环上的各个点的编号就是答案
是不是很惊奇?????正确性不言而喻,反正就是很牛逼
CF1439C Greedy Shopping
简单题,就是线段树写法较抽象。
CF1400F x-prime Substrings
由于题目出现“不能出现 \(x-prime\) 串”,于是考虑将所有 \(x-prime\) 串放到 ACAM 上。观察到 \(x-prime\) 串不多,上 DP 即可。
设 \(f_{i,j}\) 表示考虑到前 \(i\) 个字符,当前在自动机的 \(j\) 状态需要删除的最小长度,转移即考虑删不删,时间复杂度 \(\mathcal{O}(nm)\)。

浙公网安备 33010602011771号