【题单】wmr & zzy 第五次讲题
P13559 【MX-X15-T6】翻树树
找到一个 \(B\),\(\deg > B\) 的直接每个花 2 的代价处理。
对于 \(B\le \deg\) 的每次染黑一个叶子,花费 B 的代价。
发现这样是对的,可以严格证明。
P8330 [ZJOI2022] 众数
将问题改为选出两个数 \(x,y\),并划定一个区间 \([l,r]\) 满足 \(occ(x,[1,l)\cup (r,n])+occ(y,[l,r])\) 最大。
上述这个问题在知道 \(x,y\) 后可以将 \(y\) 的权值设为 1,\(x\) 的权值设为 \(-1\),求一个最大子段和,再加上 \(x\) 的出现次数即可。
根号分治。
- 对于 \(\max(occ_x,occ_y)>B\):
- 对于 \(occ_y>B\):直接对序列扫描线,维护 \(\frac{n}{B}\) 种 \(y\) 的前缀和。
- 对于 \(occ_x>B\):类似做。
- 对于 \(\max(occ_x,occ_y)\le B\):
- 考虑枚举 \(x\) 所有出现的位置构成的区间,这样的区间有 \(O(nB)\) 个。
- 需要在这些区间内 \(O(1)\) 询问出众数出现次数。
- 注意到众数出现次数不会超过 \(B\),故考虑预处理一个表 \(f_{i,j}\) 表示 \([i,r]\) 内众数出现次数不会超过 \(j\)。
- 这个表直接对于每个 \(j\) 双指针一次就算出来了。
QOJ9479 And DNA
考虑最低位:
- \(m\bmod 2=0\):最低位只能是全 0 或者全 1。
- \(m\bmod 2=1\):最低位只能是 \(01,011\) 的拼接,故可以设 \(g_n\) 表示长度是 \(n\) 的方案数,有 \(g_{n}=g_{n-2}+g_{n-3},g_2=2,g_3=3\)。
那么递归
\[f(n,m)=
\begin{cases}
f(n,\frac{m}{2})+f(n,\frac{m}{2}-1)& m\bmod 2=0\\
f(n,\frac{m-1}{2})g_n & m\bmod 2=1
\end{cases}
\]
浙公网安备 33010602011771号