疑惑
查看原帖
疑惑
519573
Daniel_yao楼主2022/7/19 16:24
for(int i = 0;i < e[x].size();i++){
		int y = e[x][i];
		dp(y);
		for(int j = m+1;j >= 1;j--){
			for(int k = j-1;k >= 1;k--){
				f[x][j] = max(f[x][j], f[x][j-k] + f[y][k]);
			}
		} 
	}

把第三层循环改成正序:

for(int i = 0;i < e[x].size();i++){
		int y = e[x][i];
		dp(y);
		for(int j = m+1;j >= 1;j--){
			for(int k = 1;k <= j-1;k++){
				f[x][j] = max(f[x][j], f[x][j-k] + f[y][k]);
			}
		} 
	}

也是AC的

这是为什么?

2022/7/19 16:24
加载中...