DSU on tree:保留重儿子答案,轻儿子暴力求。
线段树树上合并:\(O(n \log n)\)。考虑每次合并复杂度是O(删的点个数),点数是\(O(n \log n)\)的。
2-dfs序:dfs进出的时候给一个点,给一个+1和-1系数。可以表示根到点的链信息。
欧拉序:\(O(1)\) lca
直径的性质:
1 若点集\(A,B\),直径为\((a,b),(c,d)\),则\(A\cup B\)的直径为\((a,c),(a,d),(b,c),(b,d)\)中的一条
2 点集\(S\)中,离点\(u\)的最远点一定是某条直径某个端点