T1
考虑建出parent tree那么两个串的LCP的长度就是lca处的len
用lct维护最大的endpos,树状数组维护最大值
离线扫描线即可
T2
设f[x]代表令x的子树大小<=n/2的最小代价
g[x]代表切完后的剩下多少
简单的树形dp求出以1为根后
考虑换根dp对于每个点向儿子dfs时求出以这个儿子为根时它的f和g
预处理前缀和二分一下就可以做到log
T3
考虑把2的先确定后对于每个环搜索即可