建议加强数据
查看原帖
建议加强数据
493766
Chenhaoxuan楼主2025/1/26 21:06

讨论区的如下代码竟然可以通过:

void dfs(int d,int f){
	size[d]=1;
	dep[d]=dep[f]+1;
	if(d!=root) depn[dep[d]]++;
	for(auto u:g[d]){
		if(u==f) continue;
		dfs(u,d);
		size[d]+=size[u];
		if(d==root){
			for(int i=3;i<N;i++){
				if(depn[i]==0) break;
				ans+=(depn[i]*(depn[i]-1));
			}
			memset(depn,0,sizeof depn);
            // 瓶颈在这里,只需要改成清空有值的 depn 即可
		}
	}
}

显然可以被卡到 n2n^2。构造方法很简单,仅需造一组全部的 fa[i] = 1 的数据即可。

为了防止乱搞 / 特判,也可以加一些随机扰动。测试数据里竟然没有根的度数很大的情况,实在太水了。

2025/1/26 21:06
加载中...