社区讨论
警示后人(if你只AC on #1 #3 #11)
P3384【模板】重链剖分 / 树链剖分参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mjwhh8qn
- 此快照首次捕获于
- 2026/01/02 14:19 2 个月前
- 此快照最后确认于
- 2026/01/04 22:55 2 个月前
应该没人比我更糖了
CPPvoid dfs1(long long x, long long f){
dep[x]=dep[fa[x]]+1;//错误了,此时fa[x]还未赋值
fa[x]=f;
siz[x]=1;
long long ms=-1;
for(long long i=head[x];~i;i=a[i].w){
if(a[i].v==fa[x]) continue;
dfs1(a[i].v, x);
siz[x]+=siz[a[i].v];
if(ms<siz[a[i].v])
ms=siz[a[i].v], son[x]=a[i].v;
}
}
void dfs1(long long x, long long f){
fa[x]=f;
dep[x]=dep[fa[x]]+1;//所以这样才正确
siz[x]=1;
long long ms=-1;
for(long long i=head[x];~i;i=a[i].w){
if(a[i].v==fa[x]) continue;
dfs1(a[i].v, x);
siz[x]+=siz[a[i].v];
if(ms<siz[a[i].v])
ms=siz[a[i].v], son[x]=a[i].v;
}
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...