hdu1505
the main algorithm as the 1506
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
char gird[][];
int num[][];
int m,n;
int find(int a){
int i,j,res,max;
int t;
int l[],r[];
l[]=; r[m]=m;
for(i=;i<=m;++i){
t=i;
if(num[a][i]==){
l[i]=i;
continue;
}
while(t>&&num[a][i]<=num[a][t-])
t=l[t-];
l[i]=t;
}
for(i=m-;i>=;--i){
t=i;
if(num[a][i]==){
r[i]=i;
continue;
}
while(t<m&&num[a][i]<=num[a][t+])
t=r[t+];
r[i]=t;
}
res=;
for(i=;i<=m;++i){
if( (r[i]-l[i]+)**num[a][i] > res )
res = (r[i]-l[i]+)**num[a][i];
} /*
for(i=1;i<=m;++i)
cout<<num[a][i]<<" ";
cout<<endl;
cout<<"left-----"<<endl;
for(i=1;i<=m;++i)
cout<<l[i]<<" ";
cout<<endl;
cout<<"right---"<<endl;
for(i=1;i<=m;++i)
cout<<r[i]<<" ";
cout<<endl;
cout<<res<<endl; */ return res;
}
int init(){
cin>>n>>m;
int i,j,tmp;
for(i=;i<=n;++i)
for(j=;j<=m;++j)
cin>>gird[i][j];
for(j=;j<=m;++j)
if(gird[][j]=='F') num[][j]=;
else num[][j]=;
for(i=;i<=n;++i)
for(j=;j<=m;++j){
if(gird[i][j]=='F') num[i][j]=num[i-][j]+;
else num[i][j]=;
}
int res=;
for(i=;i<=n;++i){
tmp=find(i);
if(tmp>res) res=tmp;
}
return res;
}
int main(){
int t,i,j;
while(cin>>t){
while(t--){
cout<<init()<<endl;
}
}
return ;
}
hdu1505的更多相关文章
- hdu1505 dp
//Accepted 5196 KB 109 ms //类似hdu1506 //输入数据的格式没有明确的限制 //可能出现以下情况 //5 5 //R //F //F F F //F F F F F ...
- hdu1505(dp求最大子矩阵)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1505 分析: 这题是HDU 1506 的加强版,定义一个二维数组,d[i][j]表示第i行j列元素在前 ...
- HDU1505 City Game(算竞进阶习题)
写了1506顺便写下1505.. 还是求矩形面积,不过要预处理一下以每一个F为底的高度,然后想左右扩展到最大长度即为矩形的长.. 计算方法有点绕,令l[i]表示i的左边界,那么初始化l[i] = i. ...
- HDU1505 City Game 悬线法
题意: 给出一个像这样的矩阵 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 求F组成的最大子矩阵(面积最大) 有多组数 ...
- HDU1505(HDU1506的加强版)
昨天打 CF又跪了.近期睡不好睡不好睡不好-感觉整个人都累傻了,根本无办法写下去,只写了一题签到题就跪了orz..从未试过这么悲剧. 今天早上凭着我的意念("怨念").七点又起来了 ...
- hdu1505 暴力或dp优化
题意: 给你一个矩阵,让你在里面找到一个最大的f矩阵.. 思路: 三种方法ac这到题目; 方法(1) 以宽为主,暴力 开一个数组sum[i][j],记录当前这个位置的 ...
- 转载:hdu 动态规划题集
1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做背包(放大100000倍化为整数): ...
- DP总结 ——QPH
常见优化 单调队列 形式 dp[i]=min{f(k)} dp[i]=max{f(k)} 要求 f(k)是关于k的函数 k的范围和i有关 转移方法 维护一个单调递增(减)的队列,可以在两头弹出元素,一 ...
- City Game
hdu1505:http://acm.hdu.edu.cn/showproblem.php?pid=1505 题解:给你一个字符矩阵,里面有R和F两种字符,然后让你找一个最大的子矩阵,这个最大的子矩阵 ...
随机推荐
- studio--问题
2,Android studio 怎么能删除干净一个module? 工程→open module settings→选中你要删除的module,然后点“一”,确定后返回,即可在module邮件下看到d ...
- Eclipse "IOConsole updater" has encounter a problem
因为调试方便,把eclipse里的控制台输出调整为无限制了,结果各种log打了一夜居然把堆内存打爆了. 还是改回去吧. 在日志输出的状态下(貌似没日志的时候没法选)右键console的内容区域 -&g ...
- JAVA 方法重载
方法的重载是指:一个类中可以定义有相同的名字,但参数不同的多个方法,调用时会根据不同的参数列表选择对应的方法. 实例: W.java public class W{ public void F(Str ...
- JavaScript判断字符串是否含有中文(实用)
引用页: http://javasam.iteye.com/blog/1465048 UTF-8有点类似于Haffman编码,它将Unicode编码为:0x00-0x7F的字符,用单个字节来表示:0x ...
- CentOS7 备忘录
//安装CentOS7 1.用LinuxLive USB Creator,LiveUSB Creator设置U盘安装不成功,UltraISO可以. 2.旧电脑(x8le)安装时报"/dev/ ...
- dedecms v5.7 sp1 给栏目添加缩略图功能
一.给数据库添加字段typeimg 如图: 二 . 修改 dede/catalog_add.php 找到 $in_query = "INSERT INTO `#@__arctype`(r ...
- 用inno Setup制作web项目安装包
http://www.cnblogs.com/xionghui/archive/2012/03/22/2411207.html 用inno Setup制作安装包 新建一个文件夹exambody,放ap ...
- Mingyang.net:为什么不将Bean定义在Action参数中?
Spring MVC提供了一种方便的Bean填充方式: @Controller public class CmsChannelController extends AbstractController ...
- iOS 中@property() 括号中,可以填写的属性?
通过@property 和 @synthesize 属性可以简化设置器(set)和访问器(get) 的代码. 在@property 中又有那些属性呢? readwrite 默认 readonly 只读 ...
- 蓝桥杯---汉字取首字母(位运算 & 水题)
确实题目虽然有点水,但是开始的时候好像还真的没有想到怎么提取出这个编号一不小心感觉可以可以用unsigned char 这种类型,直接转为16进制,但是之后发现虽然第一次在codeblock中还行,但 ...