有这样一类题,让你在一个区域范围内找到最大矩形(面积/边长)
- 这类问题都是在一个有限制条件的区域内取矩形
- 通用“悬线法” 解决
悬线法
- 顾名思义,假设图中有一条平行于y轴的线,线上的某一段点能左右移动的范围+这段线的长度=一个矩阵的面积
- 因此我们可以预处理出每个点左右移动的范围,最后合并范围相同的点寻找答案
- 其中限制条件在每次状态转移是加上
玉蟾宫代码↓
#include <bits/stdc++.h>
#define il inline
#define re register
using namespace std;
int n, m, ans;
int l[1010][1010], r[1010][1010], top[1010][1010];
char ch[1010][1010];
il char read() {
char op = getchar();
while(op != 'F'&&op !=