【题单】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} \]

posted @ 2026-07-25 15:53  TallBanana  阅读(17)  评论(0)    收藏  举报