【悬线法】 P4147 玉蟾宫

题目:https://www.luogu.com.cn/problem/P4147题意:给出一个矩阵,由F,RF,RF,R构成,求由FFF构成的最大子矩阵题目:这道题很容易想到最大子矩阵,但这样复杂度是n3n^3n3,这道题显然不够(据说有dalao卡过去了)这道题我们考虑悬线法,悬线法就是确定一条竖线,我们确定这条竖线的上边界,即矩阵边界或R点,然后这条竖线左右移动,找到左右边界,我们就求出了这条线的最大矩阵我们预处理每个点的上边界和左右边界,一行一行枚举,求出每个点向上、向左右扩展的矩阵,取最
摘要由CSDN通过智能技术生成

题目https://www.luogu.com.cn/problem/P4147

题意:给出一个矩阵,由 F , R F,R F,R构成,求由 F F F构成的最大子矩阵

题目:这道题很容易想到最大子矩阵,但这样复杂度是 n 3 n^3 n3,这道题显然不够(据说有dalao卡过去了)

  • 这道题我们考虑悬线法,悬线法就是确定一条竖线,我们确定这条竖线的上边界,即矩阵边界或R点,然后这条竖线左右移动,找到左右边界,我们就求出了这条线的最大矩阵
  • 我们预处理每个点的上边界和左右边界,一行一行枚举,求出每个点向上、向左右扩展的矩阵,取最大值就可以了

代码

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define lowbit(x) x&(-x)
#define pb push_back
#define MAXN 1010

using namespace std;

typedef  long long ll;
typedef pair<int,int
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值