蒟蒻有关求max赋初始值的问题
  • 板块学术版
  • 楼主gxcgjy
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/13 16:37
  • 上次更新2024/8/13 16:37:15
查看原帖
蒟蒻有关求max赋初始值的问题
685839
gxcgjy楼主2024/8/13 16:37

在求最大值的过程中,赋初始值为-1,是不正确的的 而赋值0xc0是AC 详情可见P3119 部分代码如下``` memset(dp1, 0xc0, sizeof dp1); memset(dp2, 0xc0, sizeof dp2); // for(int i = 1; i <= n; i++) cout << id[i] << ' '; dp1[id[1]] = val[id[1]]; dp2[id[1]] = 0; for(int i = id[1]; i; i--){ for(int j : v_new[i]) dp1[j] = max(dp1[j], dp1[i] + val[j]); } for(int i = id[1] + 1; i <= cnt; i++){ for(int j : v_new[i]) dp2[i] = max(dp2[i], dp2[j] + val[i]); } int ans = 0; for(int i = 1; i <= cnt; i++){ for(int j : v_new[i]){ if(i >= id[1] && j <= id[1]){

			ans = max(ans, dp1[j] + dp2[i]);
		}
	}
}
赋值-1即

memset(dp1, -1, sizeof dp1); memset(dp2, -1, sizeof dp2);

2024/8/13 16:37
加载中...