对于分治
void Divide(int u){ vis[u]=judge[0]=1; Solve(u); for(int i=head[u],v;i;i=e[i].nxt){ v=e[i].to; if(vis[v])continue; rt=0; maxp[0]=sum=siz[v]; Getrt(v,u); Divide(rt); } }
因为 siz 不是根据 rt 求的,所以 siz[v] 存在情况不等于 vvv 的大小。
siz
rt
siz[v]
那么复杂度是如何保证的?