几种常见错误
//正确 int Find(int u) { if(fa[u]) { int f=fa[u]; fa[u]=Find(fa[u]); w[u]=(w[f]+w[u]+mod)%mod; return fa[u]; } return u; } //错误 int Find(int u) { if(fa[u]) { fa[u]=Find(fa[u]); w[u]=(w[fa[u]]+w[u]+mod)%mod; //!!!此处:w 所存储的是与其直接父亲的关系,而前面更新后的 fa[u] 已经变成祖宗了 return fa[u]; } return u; }