tarjan
圆方树
P4630 [APIO2018] Duathlon 铁人两项
这题是圆方树板子题,只要让方点的权值为 \(siz\), 圆点权值为 \(-1\) ,然后在树上算算贡献即可。
强连通分量
CF878C Tournament
考虑建一张图,对于一项运动从小连向大,然后缩典。考虑模拟这个缩点的过程,可以用 \(set\) 来维护每一强连通分量的信息。
对 \(set\) 定义 \(a < b\) 表示这个连通分量 \(a\),然后每次找到 \(set\) 中和他相等的数节点和他合并。
P3119 [USACO15JAN]Grass Cownoisseur G
这个直接正反建一个缩图,然后拓扑一遍跑个最长路,然后处理一下反的路径即可。