这道题用到了悬线法,非常牛逼,可以看这个论文。

https://blog.csdn.net/twtsa/article/details/8120269

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
#define _for(i, a, b) for(int i = (a); i <= (b); i++)
using namespace std;const int MAXN = 2123;
int l[MAXN][MAXN], r[MAXN][MAXN], h[MAXN][MAXN];
int a[MAXN][MAXN], n, m;int main()
{scanf("%d%d", &n, &m);_for(i, 1, n)_for(j, 1, m){char c; cin >> c;a[i][j] = (c == 'F');h[i][j] = 1;l[i][j] = r[i][j] = j;}_for(i, 1, n){_for(j, 2, m)if(a[i][j-1] && a[i][j])l[i][j] = l[i][j-1];for(int j = m - 1; j >= 1; j--)if(a[i][j+1] && a[i][j])r[i][j] = r[i][j+1];}int ans = 0;_for(i, 1, n)_for(j, 1, m){if(i > 1 && a[i][j] && a[i-1][j]){h[i][j] = h[i-1][j] + 1;l[i][j] = max(l[i][j], l[i-1][j]);r[i][j] = min(r[i][j], r[i-1][j]);}ans = max(ans, (r[i][j] - l[i][j] + 1) * h[i][j]);}printf("%d\n", 3 * ans);return 0;
}

转载于:https://www.cnblogs.com/sugewud/p/9819370.html

洛谷 P4147 玉蟾宫 (最大子矩形问题)相关推荐

  1. 洛谷 P4147 玉蟾宫 P1169 [ZJOI2007]棋盘制作(求最大子矩阵)

    题目: P4147 玉蟾宫: https://www.luogu.org/problemnew/show/P4147  P1169 [ZJOI2007]棋盘制作: https://www.luogu. ...

  2. 洛谷P4147 玉蟾宫(单调栈解决)

    题目 题目链接 题目背景 有一天,小猫 rainbow 和 freda 来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 题目描述 这片土地被分成 N\times ...

  3. 洛谷 P4147 玉蟾宫【悬线法/单调栈】

    题目背景 有一天,小猫 rainbow 和 freda 来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 题目描述 这片土地被分成 N×MN\times MN×M ...

  4. 刷题记录:洛谷P4147玉蟾宫

    传送门:洛谷 题目描述: 这片土地被分成 N × M N\times M N×M 个格子,每个格子里写着 'R' 或者 'F',R 代表这块土地被赐予了 rainbow,F 代表这块土地被赐予了 fr ...

  5. 洛谷 P4147 玉蟾宫

    这好像是一道悬线法的题目,但是我不会,只能用单调栈水过了 我们将ai,ja_{i,j}ai,j​定义为从(i,j)(i,j)(i,j)出发向上(坐标减小)可以达到的最长的.没有R的路径 比如说样例 5 ...

  6. 洛谷 P4147 玉蟾宫 题解【悬线dp】

    原题地址 蛤,今天正好学习一下悬线dp,写了个板子题. 用 l [ i ] [ j ] l[i][j] l[i][j]表示能延伸的最左的位置的列, r [ i ] [ j ] r[i][j] r[i] ...

  7. 洛谷4147 玉蟾宫

    题目背景 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 题目描述 这片土地被分成N*M个格子,每个格子里写着'R'或者'F ...

  8. 洛谷P4147玉某宫(最大矩阵好题)

    题目描述 这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda. 现在freda要在这里卖萌...它要找一块矩形土地,要求 ...

  9. 【洛谷】P4147 玉蟾宫 解题报告

    [洛谷]P4147 玉蟾宫 解题报告 题目背景 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 题目描述 这片土地被分成N* ...

  10. [P4147 玉蟾宫(悬线法)

    题目链接: P4147 玉蟾宫 题目大意: n ∗ m n∗m n∗m的矩阵,求最大的全 F F F矩阵面积 ∗ 3 *3 ∗3. 思路:悬线法. 参考代码: #include <bits/st ...

最新文章

  1. agilebpm脑图_干货基于SpringBoot2开发的Activiti引擎流程管理项目脚手架
  2. 打造司机在线培训,网易云信助力曹操专车“一路畅行”
  3. 利用Console来调试JS程序、Console用法总结
  4. 阿里安全猎户座实验室(Alibaba Orion Security Lab)简介
  5. php 出错处理,PHP 错误处理机制
  6. Day12-流Stream
  7. kafka经典面试题
  8. python脚本简化jar操作命令
  9. Go语言标准库之fmt.Print
  10. 从Java到C++——常量的使用规则
  11. Adobe Flash 离线安装包下载
  12. 只有一小部分情节的小说——离觞
  13. Django order by 高级用法
  14. 论文阅读:Unprocessing Images for Learned Raw Denoising
  15. 基于 python 的语音识别 API 调用
  16. 【圣诞节限定】教你用Python画圣诞树,做个浪漫的程序员
  17. 计算机任务计划程序已损坏,Win7-该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321)解决办法...
  18. python通过经纬度获取地址信息
  19. php使用qq登录api接口,QQ的账号登录及PHP api操作
  20. mysql_java.sql.SQLException: null, message from server: Host 'xxx' is not allowed to connect

热门文章

  1. Stacked injection--堆叠注入--堆查询注入
  2. Android Wifi 调试
  3. Windows 7 SP1意味着XP降级的结束
  4. java打包-exe文件-最终以setup形式发布的解决之道
  5. 记录:添加trace_event埋点并调用
  6. kernel or user oops信息定位步骤
  7. GICv3驱动初始化
  8. Android 四大组件学习之Activity一
  9. KVM 介绍(8):使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]
  10. linux的审计功能(audit)