题目
题目链接
题解动态规划。压缩+最大子段和,属于最大子段和变形题。
最大子段和应该比较清楚。 转移方程:dp[i] = max(dp[i-1] + a[i], a[i])
,其中dp[i]
表示以第i
个元素结尾的子段和的最大值。 当dp[i-1]=0
时,说明加上前面子段和最大值会对以a[i]
结尾的最大子段和做出正贡献,那么加上。
接下来我们将一维的最大子段和问题扩展到二维。
先看2
行m
列的情况: 对于第一行而言,我们可以通过上面讲到的“最大子段和”思想求出1×m
的矩阵(或向量)中的最大子矩阵; 同样的,对于第二行而言,我们也可以求出1×m
的矩阵中的最大子矩阵;
这样就包含了全部矩阵中的哪些情况呢? 这相当于在一个元素个数为2×m
的矩阵中已经判断完全部格式为1×t
的子矩阵中的最大子矩阵,其中1 n>>m;
for(int i = 1;i a[i][j];
for(int i = 1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?