zoukankan      html  css  js  c++  java
  • 算法浅谈之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

  • 相关阅读:
    HDU-5384
    UVALive 5099
    ZOJ-2753
    HUD-5379
    HDU-5360
    HDU-5351
    HDU-5335
    HDU-5317
    HDU-2487
    常用十六进制颜色对照表代码查询
  • 原文地址:https://www.cnblogs.com/hulean/p/11919859.html
Copyright © 2011-2022 走看看