萌新求助dp
查看原帖
萌新求助dp
65681
UltiMadow楼主2020/7/5 12:12

RT

我一开始dp是这么写的:

for(int j=1;j<=dep[v]+1;j++)
{
	f[u][j]+=f[v][j-1];
	if(f[u][ans[u]]<f[u][j]||(f[u][ans[u]]==f[u][j]&&j<ans[u]))
		ans[u]=j;
}

然后 WA#28

然后改成这样:

for(int j=1;j<=dep[v];j++)
{
	f[u][j]+=f[v][j-1];
	if(f[u][ans[u]]<f[u][j]||(f[u][ans[u]]==f[u][j]&&j<ans[u]))
		ans[u]=j;
}

就 A 了

问一下为啥啊,因为我现在还是觉得上面那个是对的(

因为上面那个转移到了 f[v][dep[v]] 而下面那个没有转移到

求解qwq

2020/7/5 12:12
加载中...