初学 DP 建议先写 DFS 吗?
  • 板块学术版
  • 楼主残阳如血
  • 当前回复8
  • 已保存回复8
  • 发布时间2024/5/25 11:07
  • 上次更新2024/5/25 14:06:38
查看原帖
初学 DP 建议先写 DFS 吗?
726139
残阳如血楼主2024/5/25 11:07
  • 初学 DP 的时候建议先写一个暴力 dfs,然后再转成 DP 吗?

  • 有些 dfs 写起来参数较多,dp 数组开不下怎么办?

    例如下面的代码参数就比较多

#include <vector>
#include <iostream>
const int N = 110;

int n, ans, s[N], f[N];

void dfs(int i, int ss, int sf) {
	if (i > n) {
		if (ss >= 0 && sf >= 0) ans = std::max(ans, ss + sf);
		return ;
	}
	dfs(i + 1, ss + s[i], sf + f[i]);
	dfs(i + 1, ss, sf);
} 

int main() {
	std::cin >> n;
	for (int i = 1; i <= n; ++i) std::cin >> s[i] >> f[i];
	dfs(1, 0, 0);
	std::cout << ans << std::endl;
	return 0;
}
2024/5/25 11:07
加载中...