tyvj1939 玉蟾宫
背景
有一天,小猫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 玉蟾宫相关推荐
- 【BZOJ-30391057】玉蟾宫棋盘制作 悬线法
3039: 玉蟾宫 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 753 Solved: 444 [Submit][Status][Discuss] ...
- BZOJ 3039: 玉蟾宫( 悬线法 )
最大子矩阵...悬线法..时间复杂度O(nm) 悬线法就是记录一个H向上延伸的最大长度(悬线), L, R向左向右延伸的最大长度, 然后通过递推来得到. ----------------------- ...
- bzoj 3039: 玉蟾宫(悬线法)
3039: 玉蟾宫 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 975 Solved: 562 [Submit][Status][Discuss] ...
- 洛谷P4147 玉蟾宫(单调栈解决)
题目 题目链接 题目背景 有一天,小猫 rainbow 和 freda 来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 题目描述 这片土地被分成 N\times ...
- CODEVS 2491 玉蟾宫
题目描述 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表 ...
- BZOJ[3039]玉蟾宫 悬线法
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3039 Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山 ...
- BZOJ 3039 玉蟾宫
Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 这片土地被分成N*M个格子,每个格子里写着'R'或者 ...
- 【洛谷】P4147 玉蟾宫 解题报告
[洛谷]P4147 玉蟾宫 解题报告 题目背景 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 题目描述 这片土地被分成N* ...
- 玉蟾宫【洛谷P4147】
题目描述 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 这片土地被分成NM个格子,每个格子里写着'R'或者'F',R代表这 ...
最新文章
- 【error】RuntimeError: size mismatch与全连接fc层
- 安卓 onTouch OnTouchEvent onChick 顺序
- Java 程序中的多线程
- Dataset之Facades:Facades数据集的简介、安装、使用方法之详细攻略
- Android基础_数据存储
- S5PV210之Sate210-F DIY硬件,移植uboot,kernel,android 活动现在已经进入实施阶段吗,欢迎广大网友参与 !...
- format 转化时间格式不起作用
- 文件上传利器SWFUpload入门简易教程
- VS建lUML画类图
- 腾讯开源之道:基于Apache之道的开源实践与探索
- 搞学术离不开的那些数学—概率论与数理统计
- Perl读取文件的两种常用方式
- 拓端tecdat|R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列
- 用python画分段函数图像_我想用Python matplotlib 画一个这样类似的图像,需要用到分段函数。大佬帮帮这个小弟?...
- 51单片机呼吸灯c语言程序,用51单片机的呼吸灯程序
- 汇编语言中xor指令_常用的汇编指令
- 【RX解码MIPI输出】XS9922B 4通道模拟复合视频解码芯片 功能对标TP2815
- matlab 分类标签,matlab中根据分类条件产生带标签的数据(二)
- 墨尔本大学计算机科学博士怎么样,墨尔本大学计算机科学专业怎么样?成为IT大牛的不二之选...
- [实用工具] 简单的数独计算器
热门文章
- 6.2 Characteristic Values
- python中abs和fabs的区别_abs()与fabs()的速度差异和fabs()的优势
- Vue集成amCharts4
- 终端上网行为管理开源框架(柏晓技术deskvideosys)
- 2022.11.15 英语背诵
- ui automator api 图解
- [ECCV2022]3D face reconstruction with dense landmarks
- jsf的verbatim标签
- 共线条件方程及其应用
- IE浏览器提示代理服务器没有响应,但是360浏览器可以用