专栏文章

动态DP

算法·理论参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqapjmc
此快照首次捕获于
2025/12/04 01:43
3 个月前
此快照最后确认于
2025/12/04 01:43
3 个月前
查看原文

动态动态规划

四边形不等式的优化

CPP
for(int i = 1 ; i <= n ; i ++){
	dp[i][i] = 0; //s[][]的初始值
	s[i][i] = i;
} 
for(int len = 2; len <= n ; len ++)
	for(int i = 1 ; i <= n - len + 1; i ++){
		int j = i + len - 1;
		for(k = s[i][j - 1]; k <= s[i + 1][j]; k ++){ //缩小循环范围
			if(dp[i][j] > dp[i][k] + dp[k + 1][j] + w[i][j]){//是否更优
				dp[i][j] = dp[i][k] + dp[k + 1][j] + w[i][j];
				s[i][j] = k;//更新最佳分割点
			}
		}
	}
时间复杂度: 比O(n2)O(n^2)小很多

评论

0 条评论,欢迎与作者交流。

正在加载评论...