1:线段树操作时的值域不要开到n因为z可能比n大
2:对于树剖求LCA,一个容易写错的地方是
if(d[u]<d[v])swap(u,v);
应改为:
if(d[t[u]]<d[t[v]])swap(u,v);
3:如果你也为了卡常喜欢无符号,一定要把线段树存个数的数组开有符号
4:如果你也喜欢单字符变量名,建议把树剖和线段树分开放在两个不同的namespace里,因为这两个东西非常容易重名
5:一定不要忘记在第一遍dfs进入u时把s[u]设为1