背景
有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。
描述
这片土地被分成N*M个格子,每个格子里写着’R’或者’F’,R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda。
现在freda要在这里卖萌。。。它要找一块矩形土地,要求这片土地都标着’F’并且面积最大。
但是rainbow和freda的OI水平都弱爆了,找不出这块土地,而蓝兔也想看freda卖萌(她显然是不会编程的……),所以它们决定,如果你找到的土地面积为S,它们每人给你S两银子。
输入格式
第一行两个整数N,M,表示矩形土地有N行M列。
接下来N行,每行M个用空格隔开的字符’F’或’R’,描述了矩形土地。
输出格式
输出一个整数,表示你能得到多少银子,即(3*最大’F’矩形土地面积)的值。
测试样例1
输入

5 6
R F F F F F
F F F F F F
R R R F F F
F F F F F F
F F F F F F

输出

45

备注
对于50%的数据,1<=N,M<=200
对于100%的数据,1<=N,M<=1000

【分析】
二维单调栈
不是很裸的单调栈


【代码】

//tyvj 玉蟾宫 分行单调栈
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define fo(i,j,k) for(int i=j;i<=k;i++)
using namespace std;
const int mxn=1005;
char c;
int n,m,ans;
int h[mxn][mxn],l[mxn],r[mxn],s[mxn];
bool map[mxn][mxn];
int main()
{scanf("%d%d",&n,&m);fo(i,1,n)fo(j,1,m){cin>>c;if(c=='F') map[i][j]=1;}fo(i,1,n) fo(j,1,m) if(map[i][j]) h[i][j]=h[i-1][j]+1;fo(i,1,n){int top=0;fo(j,1,m){while(h[i][s[top]]>=h[i][j] && top) top--;l[j]=s[top]+1;s[++top]=j;}top=0;for(int j=m;j;j--){while(h[i][s[top]]>=h[i][j] && top) top--;r[j]=s[top]-1;s[++top]=j;ans=max(ans,(r[j]-l[j]+1)*h[i][j]);}}printf("%d\n",3*ans);return 0;
}

tyvj1939 玉蟾宫相关推荐

  1. 【BZOJ-30391057】玉蟾宫棋盘制作 悬线法

    3039: 玉蟾宫 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 753  Solved: 444 [Submit][Status][Discuss] ...

  2. BZOJ 3039: 玉蟾宫( 悬线法 )

    最大子矩阵...悬线法..时间复杂度O(nm) 悬线法就是记录一个H向上延伸的最大长度(悬线), L, R向左向右延伸的最大长度, 然后通过递推来得到. ----------------------- ...

  3. bzoj 3039: 玉蟾宫(悬线法)

    3039: 玉蟾宫 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 975  Solved: 562 [Submit][Status][Discuss] ...

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

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

  5. CODEVS 2491 玉蟾宫

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

  6. BZOJ[3039]玉蟾宫 悬线法

    题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3039 Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山 ...

  7. BZOJ 3039 玉蟾宫

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

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

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

  9. 玉蟾宫【洛谷P4147】

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

最新文章

  1. 【error】RuntimeError: size mismatch与全连接fc层
  2. 安卓 onTouch OnTouchEvent onChick 顺序
  3. Java 程序中的多线程
  4. Dataset之Facades:Facades数据集的简介、安装、使用方法之详细攻略
  5. Android基础_数据存储
  6. S5PV210之Sate210-F DIY硬件,移植uboot,kernel,android 活动现在已经进入实施阶段吗,欢迎广大网友参与 !...
  7. format 转化时间格式不起作用
  8. 文件上传利器SWFUpload入门简易教程
  9. VS建lUML画类图
  10. 腾讯开源之道:基于Apache之道的开源实践与探索
  11. 搞学术离不开的那些数学—概率论与数理统计
  12. Perl读取文件的两种常用方式
  13. 拓端tecdat|R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列
  14. 用python画分段函数图像_我想用Python matplotlib 画一个这样类似的图像,需要用到分段函数。大佬帮帮这个小弟?...
  15. 51单片机呼吸灯c语言程序,用51单片机的呼吸灯程序
  16. 汇编语言中xor指令_常用的汇编指令
  17. 【RX解码MIPI输出】XS9922B 4通道模拟复合视频解码芯片 功能对标TP2815
  18. matlab 分类标签,matlab中根据分类条件产生带标签的数据(二)
  19. 墨尔本大学计算机科学博士怎么样,墨尔本大学计算机科学专业怎么样?成为IT大牛的不二之选...
  20. [实用工具] 简单的数独计算器

热门文章

  1. 6.2 Characteristic Values
  2. python中abs和fabs的区别_abs()与fabs()的速度差异和fabs()的优势
  3. Vue集成amCharts4
  4. 终端上网行为管理开源框架(柏晓技术deskvideosys)
  5. 2022.11.15 英语背诵
  6. ui automator api 图解
  7. [ECCV2022]3D face reconstruction with dense landmarks
  8. jsf的verbatim标签
  9. 共线条件方程及其应用
  10. IE浏览器提示代理服务器没有响应,但是360浏览器可以用