做题记录 25.2.4

\(\textcolor{black}\odot\) CF1267G Game Relics

显然随机抽放在买之前一定更优

若已经有了 \(i\) 张,随机抽一张是新的卡概率为 \(\frac{n-i}n\),期望抽 \(\frac n{n-i}\) 次,最后一次代价为 \(x\),其余代价为 \(\frac x2\),因此期望以 \(\frac x2(\frac n{n-i}+1)\) 的代价得到一张新的卡

设这 \(i\) 张的 \(c\) 之和为 \(j\),令 \(s=\sum_i c_i\),则买一张新的期望代价为 \(\frac{s-j}{n-i}\),相当于把所有买卡的操作均摊到了一个后缀中,因为显然某时刻 \(\frac{s-j}{n-i}\) 更优,则 \(i\) 更大的时刻仍然为 \(\frac{s-j}{n-i}\) 更优

\(w_{i,j}=\min(\frac x2(\frac n{n-i}+1),\frac{s-j}{n-i})\) 表示从状态 \((i,j)\) 得到一张新的卡的最小期望代价

\(p_{i,j}\) 表示选择 \(i\)\(c\) 总和为 \(j\) 的方案数,容易背包求出

\(\frac{p_{i,j}}{\binom ni}\) 表示选择 \(i\)\(c\) 总和为 \(j\) 的概率

答案为 \(\sum_{i=0}^{n-1} \sum_j \frac{p_{i,j}}{\binom ni} \times w_{i,j}\)

容易做到 \(O(n^2 s)\)

代码

参考

\(\textcolor{black}\odot\) P1173 [NOI2016] 网格

显然答案 \(\le 2\)

\(nm-c<2\)\(nm-c=2\) 且两个空位连通则答案为 \(-1\)

保留矩阵四个边角 \(3\times 3\) 的区域,每个给定的 \((x,y)\) 保留 \((x\pm 1,y),(x,y\pm 1),(x\pm1,y\pm1),(x\pm1,y\mp1),(x,1),(x,m),(1,y),(n,y)\),其余都可以去除,总数为 \(O(c)\)

若得到的图不连通则答案为 \(0\)

若存在割点则答案为 \(1\)

否则答案为 \(2\)

时间复杂度 \(O(\sum c\log c)\)

代码

参考

\(\textcolor{black}\odot\) P12490 [集训队互测 2024] 字符串

等价于求 \(1\le l\le r,s[i:]<s[i+l:]\) 的数量减去 \(1\le l\le r,s[i:]<s[i+l:],s[i:i+l-1]=s[i+l:i+2l-1]\) 的数量

前者求出后缀数组后即为二维数点,后者用 P1117 [NOI2016] 优秀的拆分 的技巧即可

时间复杂度 \(O(n\log^2 n)\)

代码

参考

posted @ 2026-02-05 07:07  Hstry  阅读(3)  评论(0)    收藏  举报