进食后入
查看原帖
进食后入
844860
CommandSR楼主2025/2/7 18:46

检查你树形dp的循环

for (int j = m; j >= 1; j--) {
			for (int k = 0; k <= j; k++) {
				f[u][j] = max(f[u][j], f[u][k] + f[v][j-k]);
			}
		}
for (int j = m; j >= 1; j--) {
			for (int k = 1; k <= j; k++) {
				f[u][j] = max(f[u][j], f[u][k] + f[v][j-k]);
			}
		}

其中 u 为当前节点,v 为当前节点的子节点

前者 WA 后者 AC

区别在于 k 能否取 0

若 k 取 0 意味着当前节点全部由子节点的状态转移而来,然而这是不可能的,因为至少要选到 a[u] 这个点

2025/2/7 18:46
加载中...