算法浅谈之DP悬线法
作者:互联网
悬线法
- 用途
解决给定矩阵中满足条件的最大子矩阵
- 做法
用一条线(横竖貌似都行)左右移动直到不满足约束条件或者到达边界
- 定义
\(left[i][j]\):代表从\((i,j)\)能到达的最左位置
\(right[i][j]\):代表从\((i,j)\)能到达的最右位置
\(up[i][j]\):代表从\((i,j)\)向上扩展最长长度.
- 状态转移
\[left[i][j]=max(left[i][j],left[i-1][j])\]
\[right[i][j]=min(right[i][j],right[i-1][j])\]
- 至于为什么递推公式中考虑上一层的情况?
是因为\(up\)数组的定义,\(up\)数组代表向上扩展最长长度, 所以需要考虑上一层的情况.
参考博文:https://rpdreamer.blog.luogu.org/p1169
标签:right,浅谈,悬线法,到达,up,代表,DP,left 来源: https://www.cnblogs.com/hulean/p/11919859.html