警示后人,如果你70pts,wa#1#2#6
查看原帖
警示后人,如果你70pts,wa#1#2#6
1054181
longlinyu7楼主2024/6/14 16:56

不要这样写

if(low[v]>=dfn[u]&&u!=1){
	vis[u]=1;
	sum+=siz[v];
	ans[u]+=siz[v]*(n-siz[v]);
}

应该改成这样

if(low[v]>=dfn[u]){ 
  sum+=siz[v];
  ans[u]+=siz[v]*(n-siz[v]);
  if(u!=1)vis[u]=1;  
}

因为就算是根节点,也是需要处理子树大小的,最开始的代码直接把根节点的情况跳过了。需要在处理子树大小过后再特判是不是根节点。

2024/6/14 16:56
加载中...