3039: 玉蟾宫

Time Limit: 2 Sec  Memory Limit: 128 MB
Submit: 975  Solved: 562
[Submit][Status][Discuss]

Description

有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。
这片土地被分成N*M个格子,每个格子里写着'R'或者'F',R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda。
现在freda要在这里卖萌。。。它要找一块矩形土地,要求这片土地都标着'F'并且面积最大。
但是rainbow和freda的OI水平都弱爆了,找不出这块土地,而蓝兔也想看freda卖萌(她显然是不会编程的……),所以它们决定,如果你找到的土地面积为S,它们每人给你S两银子。

Input

第一行两个整数N,M,表示矩形土地有N行M列。
接下来N行,每行M个用空格隔开的字符'F'或'R',描述了矩形土地。

Output

输出一个整数,表示你能得到多少银子,即(3*最大'F'矩形土地面积)的值。

Sample Input

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

Sample Output

45

最大全1子矩阵模板题

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
typedef struct
{int x;int l, r, h;
}Square;
Square map[1005][1005];
int n, m, ans;
void Spline();
int main(void)
{char ch;int i, j;while(scanf("%d%d", &n, &m)!=EOF){ans = 1;memset(map, 0, sizeof(map));for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf(" %c", &ch);if(ch=='F')map[i][j].x = 1;}}Spline();printf("%d\n", 3*ans);}return 0;
}void Spline()
{int temp, i, j;for(i=1;i<=n;i++){temp = 0;for(j=1;j<=m;j++){if(map[i][j].x==0)map[i][j].l = 0, temp = j;elsemap[i][j].l = temp;}temp = m+1;for(j=m;j>=1;j--){if(map[i][j].x==0)map[i][j].r = m+1, temp = j;elsemap[i][j].r = temp;map[i][j].h = 0;}}for(i=1;i<=m;i++)map[0][i].l = 0, map[0][i].r = m+1;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(map[i][j].x==1){map[i][j].h = map[i-1][j].h+1;map[i][j].l = max(map[i-1][j].l, map[i][j].l);map[i][j].r = min(map[i-1][j].r, map[i][j].r);ans = max(ans, (map[i][j].r-map[i][j].l-1)*map[i][j].h);}}}
}

bzoj 3039: 玉蟾宫(悬线法)相关推荐

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

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

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

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

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

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

  4. BZOJ 3039 玉蟾宫 最大子矩阵 算♂法②

    题意:链接 方法:最大子矩阵之算♂法② 解析: 首先这道题单调栈DP是肯定能过的,但是一点都不高端! 什么年代了还用这种方式! 所以如何彰显自己是个高端的人呢? 悬线法能满足你的需求! 什么是悬线法? ...

  5. BZOJ 3039: 玉蟾宫

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

  6. BZOJ 3039 玉蟾宫

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

  7. bzoj 3039 玉蟾宫 单调栈

    预处理出每个点向上扩展的高度,对于每一行维护单调递增的栈,在弹出元素的时候统计答案. #include<iostream> #include<cstdio> #include& ...

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

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

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

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

最新文章

  1. openssh windows_WINDOWS环境配置SSH服务
  2. python【蓝桥杯vip练习题库】ADV-359分解质因数
  3. android 宏替换_android 模拟宏定义,实现Debug amp; Release 模式-一团网
  4. 【openlayers】修改源码支持SLD的graphicfill属性
  5. 请求的站点不可用或找不到_公厕再不是“找不到、用不了、坐不下”
  6. 乘法运算-快速傅里叶变换
  7. 常熟理工学院计算机网络基础,常熟理工学院计算机网络复习题之简答题
  8. Doctype的作用
  9. 看完这篇Linux基本的操作就会了
  10. 【Python】单线程异步多线程多进程实例
  11. 知乎技术热帖:Qt 这么强大为什么火不起来?
  12. Java 面试——数据类型计算与拆箱装箱
  13. sprintf_s用法c语言,sprintf_s函数的使用
  14. 支撑马蜂窝「双11」营销大战背后的技术架构 营销活动优惠券架构设计
  15. HTTP 报文及作用
  16. java 注解 controller_@Controller注解
  17. .NET WebApi 实战第三讲
  18. python物理建模初学者指南 pdf 脚本之家_[剑阁]上古卷轴5新手指南并行开坑版!...
  19. c语言中的用户标识符是什么,C语言中用户标识符是什么?
  20. 安盎顺汲称叫蒲惺勤狙陡邮可王大胖,从小就和他这个堂弟要好,听了此事,当然不肯罢休,找上

热门文章

  1. python有什么用-python都可以做什么用
  2. python培训班靠谱吗-Python培训机构就业靠不靠谱?
  3. Vue SEO解决方案
  4. heroku创建linux主机,将Yesod部署到Heroku,无法静态构建
  5. nodejs的koa中cookie和session的使用,cookie和session的区别
  6. 交换机的基本配置实验报告_交换机入门配置,最基本的IP及登录方式配置,一分钟了解下...
  7. Helm 3 完整教程(二十):在 Helm 模板中定义和使用变量
  8. mysql cmake 编译出错_Mysql安装过程中CMAKE编译出错
  9. plsql日期转换错ORA-01830
  10. java读取配置文件和获得项目根目录