各地省选选做(2019~2023)

P5291 [十二省联考 2019] 希望

对于一个合法方案,可到达的点集一定是一个连通块,于是考虑点减边容斥。

现在,对于每个点 \(u\),我们要对最远距离 \(u\) \(\le L\) 且包含 \(u\) 的连通块计数。

设 \(f_{u, x}\) 为 \(u\) 的子树内,最远距离 \(u\) 不超过 \(x\) 的连通块的个数,\(g_{u, x}\) 为 \(u\) 的子树外最远距离 \(u\) 不超过 \(x\) 的连通块的个数,有 \(f_{u, x}=\prod_{v\in son_u} f_{v, x-1}+1\), \(g_{u, x}=g_{fa_u,x-1}\times \prod_{v\in son_{fa_u} \setminus u} f_{v, x-2}+1\)我们对于每个点要得到 \(f_{u, L},f_{u, L-1}, g_{u, L}\) 类似的状物。

\(f_u\) 的转移是经典的长链剖分优化 dp。

关于 \(g\) ,我们也采用类似长链剖分的套路,暴力转移轻儿子,让重儿子继承答案,时间复杂度 \(O(n\log n)\),可以通过离线处理逆元的方式优化到 \(O(n\log k)\)。

P5292 [HNOI2019] 校园旅行

朴素 dp 设 \(f_{u, v}\) 表示 \(u\) 到 \(v\) 的路径是否可行,转移就是枚举 \(u\) 和 \(v\) 的出边,复杂度 \(O((\sum deg_u)^2)=O(m^2)\),可以通过枚举中间状态优化到 \(O(nm)\) 但是没有前途。

考虑刻画回文路径的形态,我们发现在路径的中间截断,两端的 \(00\) 可以扩展成 \(0000\),\(01\) 可以扩展成 \(0101\),\(11\) 同理,我们把颜色相同或者连续相异的段和并在一起,发现只需要每一段的种类和长度的奇偶性相同即可。我们只要让每两个点之间同种类路径的奇偶可能性保持不变就行了。我们可以只保留一部分边,使得原图和新图的路径等价。具体地:

  • 对于每一个同色边的连通块,我们保留一颗生成树,如果有奇环,就随便找一个点添加一个自环
  • 对于每一个异色边的连通块,由于其一定没有奇环,只保留一颗生成树。

这样边数就降到了 \(O(n)\),总复杂度 \(O(n^2)\)。

P9168 [省选联考 2023] 人员调度

构建二分图模型来判定一种方案是否合法,设 \(s_u\) 表示 \(u\) 子树内需要匹配的人员数量,一个合法匹配需要满足,\(\forall u,s_u\le siz_u\)。

用线段数二分将删除转换为撤销,每次加入一个员工 \((x, k)\) 时,找到其最深的祖先 \(u\) 满足 \(siz_u=s_u\),再找到 \(u\) 子树内能力值最小的 \((x', k')\) 并将其替换。\(O(n\log^3 n)\)。