做题记录 25.5.11
\(\textcolor{purple}\odot\) CF555E Case of Computer Network
对于每个边双存在一种边定向方式使之强连通
先边双缩点得到森林,每个边双内部定向为强连通的,则对于约束 \(s\to t\),若两端在同一边双中则一定合法,若两端所属的边双缩点后不在同一颗树则一定不合法,否则相当于给定了书上一条路径的方向,使用树上差分即可
时间复杂度 \(O(n+m+q\log n)\),若使用 \(O(n)-O(1)\) \(\text{lca}\) 则做到 \(O(n+m+q)\)
\(\textcolor{purple}\odot\) P4630 [APIO2018] 铁人两项
建出圆方树,则对于给定的 \(s\) 和 \(f\),合法的 \(c\) 的数量为圆方树上两者之间路径上的方点的相邻圆点的数量减 \(2\)
方点赋权值为相邻圆点数量,圆点赋权值为 \(-1\),则转化为路径上的点权和
转化为给定一个森林,对于所有可达的有序点对,求出路径上点权和的总和
考虑每个点的贡献即可
时间复杂度 \(O(n+m)\)

浙公网安备 33010602011771号