1.思想 悬线法的核心思想是计算出对于当前一行能够向左/向右可以取到的最大值,处理出闭区间后并考虑出这段区间长度可以向上扩展出的最大高度是多少,每次计算更新当前能达到的区间,取出最大值,进行计算;对于一个非障碍格,可以延申出一条一直往上延伸的,碰到障碍格或上边界则停止的线,这条线往往被称之为"悬线"。我们的目的就是模拟这个过程实现。 2.实现 一个奶
P4147 玉蟾宫简要思路很容易发现,这是最大子矩形问题的板子题。定义一个二维的 dp 数组,dpi,j 代表以坐标 (i,j) 为底的线段,最长能向上延伸多少个单位长度的 F(如果自身为 R,值则为 0)。对于dp 数组的维护,分为两种情况:当ai,j 为F 时,dpi,j=dpi−1,j+1; 否则当 ai,j 为R 时,dpi,j 为...
悬线法DP可以优化到O(N^2)然后ac 将每一个F点,向上延伸做一条线,延伸到障碍点或者边界。 然后每一条线计算出向左向右的最大移动距离,乘上悬线的高,就是面积!计算即可。 再详细分析一下: 每一条线段都是一个悬线(有点多……可以优化) 向左向右扩张面积,找最大。 额……就是这样。 #include<iostream>...
P4147玉蟾宫(单调栈)P4147⽟蟾宫(单调栈)题⽬背景 有⼀天,⼩猫rainbow和freda来到了湘西张家界的天门⼭⽟蟾宫,⽟蟾宫宫主蓝兔盛情地款待了它们,并赐予它们⼀⽚⼟地。题⽬描述 这⽚⼟地被分成N*M个格⼦,每个格⼦⾥写着'R'或者'F',R代表这块⼟地被赐予了rainbow,F代表这块...
[P4147 玉蟾宫(悬线法) 题目链接: P4147 玉蟾宫 题目大意: 的矩阵,求最大的全 矩阵面积 。 思路:悬线法。 参考代码: #include <bits/stdc++.h> usingnamespacestd; constintN=2005; intlft[N][N],rgt[N][N],up[N][N],res[N][N];...
P4147玉蟾宫——最大子矩阵 悬线法裸题。 代码如下: AI检测代码解析 #include<iostream>#include<cstdio>#include<cstring>usingnamespacestd;intconstMAXN=1005,MAXM=1005;intn,m,lf[MAXN][MAXM],rt[MAXN][MAXM],ans,a[MAXN][MAXM],sta[MAXM],top;boold[MAXN][MAXM];intmain()...
P4147「玉蟾宫」 1. 题目 题目连接:P4147「玉蟾宫」。 题目背景 有一天,小猫 rainbow 和 freda 来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。 题目描述 这片土地被分成 个格子,每个格子里写着 'R' 或者 'F',R 代表这块土地被赐予了 rainbow,F 代表这块土地被赐予...
P4147 玉蟾宫 2019-12-19 21:00 − 首先,传送门:https://www.luogu.com.cn/problem/P4147 再讲一下题目大意:求图里最大矩阵且矩阵里全是F emmm 悬线法模板题 #include <bits/stdc++.h> using namespace std; int l[1005][100... 小霜降 0 133 迷宫DFS 2019-12-06 14:00 − DFS(非...
P4147 玉蟾宫 悬线法,li,j,ri,j,upi,jli,j,ri,j,upi,j 分别表示 (i,j)(i,j) 这个点向左,右,上能到达的远点。然后面积就很好办了。具体实现见代码。 然而,还有更优秀的算法,可是我还没学会嘤嘤嘤,可以看看这题:P1578 奶牛浴场 #include<bits/stdc++.h> using namespace std; const int N=1005;...
P4147 玉蟾宫 题解 CSDN同步 原题链接 简要题意: 求最大00矩阵。(将字符转化为数字) 本题是模板题,可以用来爆踩。??? 悬线法来了! 其中绿色是00,红色是11. 下面以这个图为例讲一下算法流程。 我们首先求出,以每个格子为最下面,往上堆积的最长的00条。