首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
p1387专题
动态规划——悬线法 (P1169 棋盘制作 p4147 玉蟾宫 p2701 巨大的牛棚 p1387 最大正方形)
学习于luogu p1169 第一篇题解 悬线法 用途: 解决给定矩阵中满足各种条件的最大子矩阵 做法: 用一条线(横竖貌似都行)左右移动直到不满足约束条件或者到达边界 定义数组: le[i][j]: 代表从(i,j)能到达的最左位置 ri[i][j]: 代表从(i,j)能到达的最右位置 up[i][j]: 代表从(i,j)向上扩展最长长度. 预处
阅读更多...
算法刷题:p1387 最大正方形
解题思路: 利用动态规划的思想设置一个标记数组flag[][],flag[i][j]用来记录矩阵op[][]中以op[i][j]为右下角的子矩阵中最大的正方形边长,那么动态方程就是 flag[i][j]=min(flag[i-1][j],min(flag[i-1][j-1],flag[i][j-1]))+1;左侧和上方以及左上方中最小值+1 #include<bits/stdc++.h>
阅读更多...