HDU 1505 City Game(01矩阵 dp)

『杭电1505』City Game Problem Description Bob is a strategy game programming specialist. In his new city building game the gaming environment is as follows: a city is built up by areas, in which there are streets, trees,factories and buildings. There is still some space in th 阅读详情

Problem Description
Bob is a strategy game programming specialist. In his new city building game the gaming environment is as follows: a city is built up by areas, in which there are streets, trees,factories and buildings. There is still some space in the area that is unoccupied. The strategic task of his game is to win as much rent money from these free spaces. To win rent money you must erect buildings, that can only be rectangular, as long and wide as you can. Bob is trying to find a way to build the biggest possible building in each area. But he comes across some problems – he is not allowed to destroy already existing buildings, trees, factories and streets in the area he is building in.

Each area has its width and length. The area is divided into a grid of equal square units.The rent paid for each unit on which you're building stands is 3$.

Your task is to help Bob solve this problem. The whole city is divided into K areas. Each one of the areas is rectangular and has a different grid size with its own length M and width N.The existing occupied units are marked with the symbol R. The unoccupied units are marked with the symbol F.
 

Input
The first line of the input contains an integer K – determining the number of datasets. Next lines contain the area descriptions. One description is defined in the following way: The first line contains two integers-area length M<=1000 and width N<=1000, separated by a blank space. The next M lines contain N symbols that mark the reserved or free grid units,separated by a blank space. The symbols used are:

R – reserved unit

F – free unit

In the end of each area description there is a separating line.
 

Output
For each data set in the input print on a separate line, on the standard output, the integer that represents the profit obtained by erecting the largest building in the area encoded by the data set.
 

Sample Input
  
2 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 5 5 R R R R R R R R R R R R R R R R R R R R R R R R R
 

Sample Output
  
45 0
 

Source
 

Recommend
zl   |   We have carefully selected several similar problems for you:   1069  1176  1864  1003  2571 
 



#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<queue>
#include<stack>
using namespace std;

#define N 1005

int h[N][N],le[N],ri[N];
int n,m;

int main()
{
	int i,t,j;
	scanf("%d",&t);
	while(t--)
	{

		memset(h,0,sizeof(h)) ;
		scanf("%d%d",&n,&m);
		char c;
		int ans=0;

		for(i=1;i<=n;i++)
			for(j=1;j<=m;j++)
		{

			cin>>c;
			if(c=='F')
				h[i][j]=h[i-1][j]+1;
			else
				h[i][j]=0;
		}

		for(i=1;i<=n;i++)
		{
			for(j=1;j<=m;j++)
			{
				le[j]=j;
				while(le[j]>1&&h[i][le[j]]<=h[i][le[j]-1])
                    le[j]=le[le[j]-1];
			}

			for(j=m;j>=1;j--)
			{
				ri[j]=j;
				while(ri[j]<m&&h[i][ri[j]]<=h[i][ri[j]+1])
					ri[j]=ri[ri[j]+1];
			}

			for(j=1;j<=m;j++)
				ans=max(ans,h[i][j]*(ri[j]-le[j]+1));
		}

       printf("%d\n",ans*3);
	}
 return 0;
}



OTP语音芯片SOP8的前世今生_如九齐_硕呈_钰绅等以及国产方案KT148A 语音芯片ic的其中一个品类,就是SOP8封装的OTP语音芯片,非常的经典和常用。源头的供应商基本都是台系的原厂,比如:九齐、硕呈、佑华等等,其中佑华就算是鼻祖了,早期的4位机也是在语音市场得到了升华。 OTP(One Time Programmable)是单片机的一种存储器类型,意思是一次性可编程:程序烧入单片机后,将不可再次更改和清除。 阅读详情

相关推荐

西门子1500T系列凸轮同步(CAMIN指令用法)

添加凸轮工艺对象(TO_CAM),也就是凸轮表。开始编程,先写2个轴的使能、回原点与主轴的定位。监控主轴与从轴的位置、速度关系是否满足实验要求。1.添加工艺对象(1个定位轴,1个同步轴)调用CAMIN指令 ,凸轮耦合。主轴为旋转轴且为模数轴。3.调用插补凸轮盘指令。4.仿真、监控、调试。

gyxgyx789的博客 1万+

杭电 1505 动态规划

这道题基本上和杭电2870是一样的,代码绝大部分都一样。题目: City Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2011 Accepted Submission(s): 809 Problem Descr

936

ESP32+LED12864液晶屏实战:手把手教你显示中文与自定义图标(附完整代码)

本文详细介绍了如何使用ESP32单片机驱动带字库的LED12864液晶屏,实现中文显示与自定义图标。从硬件选型、接线方案到驱动编写、字库解析,提供了完整的实战代码与优化技巧,并最终构建了一个智能家居控制面板的完整示例项目。

weixin_29212867的博客 145

leetCode 542 01矩阵(二维dp)

题目链接:点击查看 题目描述: 给定一个由 0 和 1 组成的二维矩阵,求每个位置到最近的 0 的距离。 输入输出: 输入: [[0,0,0], [0,1,0], [0,0,0]] 输出: [[0,0,0], [0,1,0], [0,0,0]] 输入: [[0,0,0], [0,1,0], [1,1,1]] 输出: [[0,0,0], [0,1,0], [1,2,1]] 题目分析: 一般来说,因为这道题涉及到四个方向上的最近搜索,所以很多人的第一反应可能..

在森林里麋了鹿 287

基于verilog的16QAM调制

思路1:正交调幅法——实现16QAM调制,可以理解为时相位相差90度的两个正弦波的4PAM叠加。 4比特输入经过2->4进制转化得到两路2比特输入,然后分别经过4PAM后叠加所得输出即为16QAM调制结果。 具体程序稍后编写。 思路2:复合相移法——可以借助前面编写的QPSK,相当于两路幅度不同的QPSK的叠加,比如幅度分别取1和3 。 思路1正交调幅法的设计方案: 两正弦波相位差...

weixin_30725467的博客 2929

【华为OD机试真题】7、字符串筛选排序 | 机试真题+思路参考+代码解析(C++、Java、Py)

题目描述 >输入一个由N个大小写字母组成的字符串 按照ASCII码值从小到大进行排序 查找字符串中第K个最小ASCII码值的字母(k>=1) 输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0) k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引 如果有重复字母则输出字母的最小位置索引

KJ.JK 2267

算法设计之广度优先与DP经典——01矩阵

给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 0 0 0 示例 2: 输入: 0 0 0 0 1 0 1 1 1 输出: 0 0 0 0 1 0 1 2 1 注意: 给定矩阵的元素个数不超过 10000。 给定矩阵中至少有一个元素是 0。...

云澈的博客 385

16. SAP Fiori Elements 应用里图片字段(Image)的显示原理介绍

很多朋友向我反映,学习了 一段时间的 SAP Fiori Elements 开发,但是感觉整套体系对于自己来说还是个黑盒子,很多技术点,看了 SAP 官方帮助文档后,觉得自己懂了,但是一旦需要自己动手做一些东西出来时,又觉得一片茫然。 其实笔者自己也经历过这个过程。究其原因,还是大家对 Fiori Elements 一些技术细节没有理解,对 SAP 官方的知识点仅仅停留在记忆,甚至是死记硬背上面。 不过没有关系,本教程笔者会刻意设置一些练习,让大家动手,在实战中逐渐熟悉 Fiori Elements 这

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 754

DP--0-1矩阵判断1构成的正方形

221.Maximal Square Medium 147335FavoriteShare Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area. Example: Input: 1 0 1 0 0 1 0 ...

qq_35747066的博客 269

Ambari 安装部署教程(手把手教学)【超级详细】

本文为读者提供了一套超详细的 Apache Ambari 安装部署教程,采用手把手教学方式,适合初学者及大数据运维人员。内容涵盖前期准备、环境配置、Ambari Server 与 Agent 安装、集群初始化配置、常见问题排查等全流程操作,确保用户能够顺利搭建稳定的 Hadoop 大数据平台管理系统。

Five的博客 1万+

Muse Spark:功能、性能测试及使用方法

对于一个仅用九个月时间从零开始重建的团队来说,这样的健康状况和多模态测试结果无疑是迈出了坚实的第一步,并且经受住了独立测试的考验。Muse Spark 为每个产品确定了最重要的主题(A 产品的发布策略、B 产品的定价策略、C 产品的规模化策略),并提出了切实可行的具体行动方案。抽象视觉推理也遵循同样的模式:Muse Spark 的 ARC-AGI-2 得分为 42.5,而 GPT-5.4 和 Gemini 的得分都在 70 分左右。他的离职是由于组织结构的变化限制了他的角色,以及团队转向闭源开发。

xiaoshun007的专栏 123

【LeetCode】 542. 01 矩阵 动态规划 dp

题目 题目传送门:传送门(点击此处) 题解 思路 这道题目的解法有两种,对于广度优先来说我实在不是很了解,所以只能说一下动态规划的算法了 这道题目需要找到的是最优子结构,递推式如下 我们能很明确的得出,某个点的最小值即为其 上、左、下、右 四个值中的最小值,所以,可以考虑用dp来做 但是遇到问题,因为0所在的位置不清楚,所以需要从四个方向(左上角、左下角、右上角、右下角)来进行dp,不过仔细...

GEEK-BANANA 766

基于MATLAB的导弹轨迹和撞击位置仿真

本文将介绍如何使用MATLAB进行导弹轨迹和撞击位置的仿真,提高导弹的精确打击能力。首先,我们需要确定导弹的初始位置和速度,以及导弹所受到的外部环境因素如重力、空气阻力等。在MATLAB中,可以通过ODE求解器来模拟导弹的运动轨迹。最后,我们通过控制器输出的控制信号来控制导弹的姿态。通过对导弹的运动轨迹和姿态进行仿真,可以更好地预测和规划导弹的运动轨迹,提高其精确打击能力。在实际作战中,为了提高导弹精确打击能力,需要对导弹的撞击位置进行预测和规划。我们可以通过控制导弹的姿态来实现撞击目标的精确命中。

CyberLynxO的博客 1982

【DP+预处理|最长连续子序列】HDU-1505 City Game

给出一个01矩阵,求其中全部都是1的最大的子矩阵。

JSure的代码库 1020

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

POJ 1964&HDU 1505&HOJ 1644 City Game(最大0,1子矩阵和总结)

POJ 1964&HDU 1505&HOJ 1644 City Game(最大0,1子矩阵和总结)

Dacc123的博客 684

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

hdu 1505 City Game && hdu 1506 Largest Rectangle in a Histogram

之所以把这两题放一块呢。。。是因为1505 是1506的深化! 1506是求最大矩形覆盖(说到这里,我觉得好多覆盖问题都是用dp解决的啊,有树上的最少覆盖条件: 昨天做的那个  POJ 1463 && HDU 1054 Strategic Game (树形DP) 有线性问题的覆盖,比如这两题) hdu 1506 和那个POJ 2796 Feel Good应该就

虽然冲动永远比坚持容易~ 1163

HDU-1505-City Game(DP)

City GameTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6625 Accepted Submission(s): 2855Problem Description Bob is a strategy game progra

Prim 314

代码随想录第四十二天 | 0-1背包理论基础:二维dp矩阵 01背包,一维dp数组 01背包(滚动数组)(卡玛网 46题);0-1背包的应用:分割等和子集(416)

0-1背包理论基础:二维dp矩阵 01背包,一维dp数组 01背包(滚动数组);0-1背包的应用:分割等和子集

AsherGu的博客 221

CCF 最大的矩形

题意:不用说了,反正就是怎么最大怎么来。 这次用的还是较笨的办法,当然感谢老赵同学的帮助。传送门开启:传送门。我说一下思路,引用DP的思想,在某个状态下,假设是第三个矩形我们可以选择自身,也可以选择后面的矩形形成最大面积。下面贴代码: #include #include #include #include using namespace std; int a[1001]; int d

瞭望的叶子的专栏 944

最大长方形(dp)(直方图)

把表的每一行看作是一个直方图,求直方图内的最大长方形的问题。使用栈来代替数组记录局部问题的解,栈中记录“仍有可能扩张的长方形的信息(记为rect)”,rect内含有两个信息,一个是长方形的高height,另一个是其左端的位置pos,首先将栈置为空,接下来对于直方图的各个值Hi(i=0,1,---,w-1),创建以Hi为高,以其下标i为位置的长方形rect,然后进行下列处理:1.如果栈为空,将rec...

肘子的博客 1099

HDOJ 1506 Largest Rectangle in a Histogram (笛卡尔树)

http://acm.hdu.edu.cn/showproblem.php?pid=1506 题意:给出一个由nnn条矩形组成的图形,每个矩形宽度均为111,高度为hih_ihi​,求该图形中最大的连续矩形面积。 笛卡尔树的典型题,在此学习一下笛卡尔树,参考博客: https://www.cnblogs.com/CaptainSlow/p/9282507.html https://blog.cs...

sdxtcqs的博客 204

【UVA1330】City game

题面   Bob is a strategy game programming specialist. In his new city building game the gaming environment is as follows: a city is built up by areas, in which there are streets, trees, factories and b

清疚的博客 589

hihocoder#1664 : 01间隔方阵(DP)

hihocoder#1664 : 01间隔方阵(DP)给定一个NxM的01矩阵,小Hi希望从中找到一个01间隔的子方阵,并且方阵的边长越大越好。 例如对于 0100100 1000101 0101010 1010101 0101010 在右下角有一个4x4的01间隔方阵。

Mitsuha_的博客 691

HDU1506_Largest Rectangle in a Histogram

题目大意:给你一个直方图,告诉你各个条形矩形的高度,求基线对齐构成的矩形中面积 最大的矩形的面积对于每一个矩形。面积 = h[i]*(j-k+1),其中j,k是左右边界,h[i]是矩形 的高。并且对于j <= x <= k,h[i] <= h[x]。 本题中,找到左右边界j,k是关键。 利用动态规划的方法,对于位置i,如果左边条形矩形的高度大于它本身,那么左边的左边 界一定也满足位置i的左边界。同理如果右边条形矩形的高度大于它本身,那么右边的右边 界也一定满足位置i的右边界。迭代循环下去。直到找到i的左右边

程序员充电站(itcharge) 3347

HDOJ1506-Largest Rectangle in a Histogram

Largest Rectangle in a Histogram   Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 20821    Accepted Submission(s): 6351     Problem Descr...

Revenant_Di的博客 271

HDOJ 1505 City Game

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1505 首先这题我们可以先回顾一下另一道题HDOJ 1506 Largest Rectangle in a Histogram,这道题我们可以先想想,是不是很像呀~,但是可能层上还有层,所以我们就在一层一层的按上一题的贪心策略贪心过去就好。 #include #include #include

RaAlGhul的博客 443
上一篇: HDU 1257 最少拦截系统(dp)
下一篇: poj 2367 Genealogical tree(topsort)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值