dp 问题
Make It Ascending
相当于把数分组,每个组的和要单增,并且有一种分配方式使得每组的位置也单增。
设 \(f_{i,j,k}\) 为选的数为 \(i\),分为 \(j\) 组,总和为 \(k\) 的最小右端点,发现第三维太大,改为右端点为 \(k\) 的最小和。
状压有哪些数被选,枚举下一次选哪一些,利用位运算加速,复杂度 \(O(3^nn^2)\)。
ZS Shuffles Cards
因为 \(E(一轮游戏抽牌数)\) 每轮相等,所以 \(E(结束时抽牌数)=E(游戏轮数)\times E(一轮游戏抽牌数)\)。
首先是 \(E(一轮游戏抽牌数)\),考虑一张牌被抽到当且仅当它的前面没有鬼牌,概率是 \(\frac{1}{m+1}\),所以 \(E(一轮游戏抽牌数)=\frac{n}{m+1}+1\)。
再算 \(E(游戏轮数)\),由于期望的线性性,\(E(游戏轮数)=\sum_{i=i}^n f_i\),其中 \(f_i\) 表示剩 \(i\) 张新牌时期望抽到一张新牌的轮数。
发现 \(f_i=\frac{m}{m+i}(f_i+1)\frac{i}{m+i}f_{i-1}\),解得 \(f_i=f_{i-1}+\frac{m}{i}\),而 \(f_1=\frac{1}{\frac{1}{m+1}}=m+1\),所以可以得到 \(E(游戏轮数)\)。
Keep XOR Low
建出 Trie 树,考虑两个子树 \(a,b\) 相互制约的答案 \(f(a,b)\)。
如果 \(d=0\),则答案是 \(f(a_0,b_0)+f(a_1,b_1)\),此外还有只在 \(a\) 中选和只在 \(b\) 中选的情况。
如果 \(d=1\),则答案是 \(f(a_0,b_1)\times f(a_1,b_0)\),因为只有这两种内有制约,并且互相独立。
2-Coloring
发现两种颜色的块的数目都 \(\le 2\),并且一定有一个 \(x=i\) 是左右两块的分界线,一块的交在上,一块的交在下,于是把合法轮廓线数转化为平面游走方案数,然后交换 \(x,y\) 轴算出另一种,注意第二次去重。
Bosco and Particle
字符串问题中有。
MEX counting
Weighted Increasing Subsequences
The Maximum Prefix
Doping
本文来自博客园,作者:mikefeng,转载请注明原文链接:https://www.cnblogs.com/mikefeng/p/17500941.html

浙公网安备 33010602011771号