写线段树的时候一定要记住自己到底是先写当前节点,再写后面的区间或者值,不要一下放前面一下放后面!
比如
int query_2(int p,int x)
但是调用的时候是
return query_2(dfn[x],1)+query_2(dfn[y],1)-2*query_2(dfn[lca],1);
/cf 调了整整2h才发现