主席树全RE求助

P2633 Count on a tree

树上主席树建树顺序不是 $1 \rightarrow n$ 而是 dfs 序@[HAuCl4](/user/289304)
by Licykoc @ 2022-10-15 22:33:35


@[Licykoc](/user/175456) 还是[RE](https://www.luogu.com.cn/record/90089314) (另,我本来应该也算是按dfn建的(?)) 修改了: ```cpp int dep[N],fa[N],son[N],sz[N],rk[N],dfn[N],num=0; void dfs1(int u,int f,int d) { dep[u]=d; fa[u]=f; sz[u]=1; dfn[u]=++num; rk[num]=u; for(int i=hd[u];i;i=nxt[i]) { int v=to[i]; if(v==f) continue; dfs1(v,u,d+1); sz[u]+=sz[v]; if(sz[v]>sz[son[u]]) son[u]=v; } } ``` ```cpp for(int i=1;i<=n;i++) update(rt[fa[rk[i]]],rt[rk[i]],1,nz,c[i]); ```
by HAuCl4 @ 2022-10-15 22:53:56


弱智错误,此贴终结。 ```cpp for(int i=1;i<=n;i++) update(rt[fa[rk[i]]],rt[rk[i]],1,nz,c[rk[i]]);//原来写的是c[i] ``` 调了3天qwq
by HAuCl4 @ 2022-10-17 22:32:46


|