疑似一种新的区间DP?
  • 板块灌水区
  • 楼主donnieguo
  • 当前回复23
  • 已保存回复23
  • 发布时间2024/8/22 12:54
  • 上次更新2024/8/22 15:33:14
查看原帖
疑似一种新的区间DP?
824800
donnieguo楼主2024/8/22 12:54

rt,今天老师讲区间DP的时候,老师先说了一种这样的做法:

for (int i = 1; i <= n; i++)
	for (int j = i + 1; j <= n; j++)
		for (int k = i; k < j; k++)
			f[i][j] = min(f[i][j], f[i][k] + f[k + 1][j] + s[r] - s[l - 1]);

然后老师就告诉我们,这样子会导致在计算 f[1][2] 的时候需要用到 f[2][2],但是这个时候 f[2][2] 还没算出来。

然后老师就准备讲正经的区间DP,此时我们机房某不知名dalao就说:

那反着推不就好了?

于是代码就变成了这样:

for (int i = n; i >= 1; i--)
	for (int j = i + 1; j <= n; j++)
		for (int k = i; k < j; k++)
			f[i][j] = min(f[i][j], f[i][k] + f[k + 1][j] + s[r] - s[l - 1]);

然后这个代码能AC掉 P1775 石子合并(弱化版)。

求证明/证伪。

或者能告诉我这个东西是什么也行。

2024/8/22 12:54
加载中...