day 4 过于变态,咕咕咕了

Day-5【游记】

咕咕咕

Day-5【题解】

忘记的题面名称

难度:Medium

看起来是求最小斯坦纳树,但其实不是(

我们可以设 \(f(S)\) 为集合 \(S\) 中的点不需要借助其他的点就能联通的代价

\(d(g,S)\) 表示 \(g\) 到集合 \(S\) 的最短距离

容易写出转移方程:

\[f(S)=\min\limits_{u\in S}f(S\backslash\{u\})+d(u,S\backslash\{u\}) \\ d(u,S)=\min\limits_{u\in S}\left(\min(d(u,S\backslash\{u\}),w_{u,v})\right) \]

初始状态:

\[f(\varnothing)=0,f(\{u\})=0 \\ g(u,\varnothing)=+\infty \]

做高维后缀最小值即可

忘记的题目名称

难度:Medium+

建立序列自动机,之后相当于询问区间中DAG的路径条数

取一个在左端点右边的点,然后截断做dp

然后对于转移方程可写成矩阵形式

然后维护矩阵即可

其实过程还不是很理解,代码咕咕咕

忘记的题目名称

难度:Medium+

显然的可以对于每种颜色建虚树

赛时想到这里就不会啦!

然后我们考虑一个点与一个边的贡献

如果设 \(u,v\) 为两条路径,\(l\) 为其LCA

\(f_i\) 为其子树中经过 \(i\) 的路径条数,\(g_i\) 为所有经过 \(i\) 的路径条数,\(F(u)\)\(u\) 到根节点所有的 \(v\) 之和,推导过程还是不写了,有点恶心

我们统计 \(2F(l)-g_l-F(v)\) 即可

如果 \(u\) 是LCA,比较好讨论

如果不是,我们直接考虑 \(l\) 的一个子树,然后其中的点会与子树中颜色相同的点对答案作出贡献

于是我们可以打标记,统一下传即可

Day-5【补题】

补题的题解并不放在这里,具体来说,它放在了题目泛刷记录3

相关文章:

  • 2021-10-22
  • 2021-12-24
  • 2022-12-23
  • 2021-08-11
  • 2021-09-08
  • 2021-09-26
  • 2021-06-15
  • 2021-12-25
猜你喜欢
  • 2022-03-07
  • 2022-01-03
  • 2021-10-19
  • 2021-08-25
  • 2021-06-21
  • 2021-08-17
相关资源
相似解决方案