hdu5024(dp)
意甲冠军:
薛期呵和王熙凤不想很接近生活(因为假定他们一起,柴可能取代王熙凤)
现在'.'事情是这样的。'#'一堵墙。薛期呵对宝让生活远;
因此,选择一个最长的公路,让他们住在两端;
路达一个转折点。它是90;
像以下这张图:
#.#
##.
..#
最长的路是(图中*的位置)
#*#
##*
.*# 长度为3;
思路:
计算出每一个点在八个方向上的长度。
然后在把每一个点垂直两个方向的距离加起来(一个点有8种加法)
取全部点的最大值;
计算时,由于假设要算这个点 左上方 延伸多长,就要算算它左上方那个点能延伸多长,再加1(所以这时候左上方那个点必须已经算出来了)。
而要计算这个点 右下方 延伸多长,也是同理要先算出它右下方那个点;
所以有四个方向要从上往下遍历。
另外四个方向从下往上遍历;
AC代码:
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std; const int N = 105;
char g[N][N];
int n;
int dir[8][2] = {{-1,1},{-1,0},{-1,-1},{0,-1},{1,-1},{1,0},{1,1},{0,1}};
int dp[N][N][8]; int main() {
while(scanf("%d",&n) && n) {
memset(dp, 0, sizeof(dp));
for(int i = 1; i <= n; i++) {
getchar();
for(int j = 1; j <= n; j++) {
scanf("%c",&g[i][j]);
if(g[i][j] == '.') {
for(int k = 0; k < 8; k++) {
dp[i][j][k] = 1;
}
}
}
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
if(g[i][j] == '#')
continue;
for(int k = 0; k < 4; k++) {
int x = i + dir[k][0];
int y = j + dir[k][1];
if(x > 0 && y > 0 && x <= n && y <= n && g[x][y] != '#') {
dp[i][j][k] += dp[x][y][k];
}
}
}
}
for(int i = n; i >= 1; i--) {
for(int j = n; j >= 1; j--) {
if(g[i][j] == '#')
continue;
for(int k = 4; k < 8; k++) {
int x = i + dir[k][0];
int y = j + dir[k][1];
if(x > 0 && y > 0 && x <= n && y <= n && g[x][y] != '#') {
dp[i][j][k] += dp[x][y][k];
}
}
}
}
int m = 0;
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
for(int k = 0; k < 8; k++) {
if(dp[i][j][k] + dp[i][j][(k + 2)%8] > m)
m = dp[i][j][k] + dp[i][j][(k + 2)%8];
}
}
}
printf("%d\n",m - 1);
}
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
hdu5024(dp)的更多相关文章
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...
- BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4026 Solved: 1473[Submit] ...
- [斜率优化DP]【学习笔记】【更新中】
参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...
- BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 9812 Solved: 3978[Submit][St ...
- px、dp和sp,这些单位有什么区别?
DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...
- android px转换为dip/dp
/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...
随机推荐
- Java的进程内缓存框架:EhCache (转)
EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache缓存的特点: 1. 快速. 2. 简单. 3. 多种缓存 ...
- NET 中的多线程
NET 中的多线程 为什么使用多线程 使用户界面能够随时相应用户输入 当某个应用程序在进行大量运算时候,为了保证应用程序能够随时相应客户的输入,这个时候我们往往需要让大量运算和相应用户输入这两个行为在 ...
- C# ^ 运算符和 || 运算符的区别
|| : 条件“或”,条件或运算符 (||) 执行的逻辑或其 bool 操作数. 如果第一个操作数计算结果为 true,第二个操作数对象不会计算. 如果第一个操作数计算结果为 false,第二个运算符 ...
- 深入浅出jsonp(转)
前言 第一次听说jsonp,其实早在2年之前.当时在做一个活动页面的抽奖模块,要从服务端get一个概率,当时什么都不懂,同事说用ajax,我就用ajax,同事说dataType改成jsonp,我就改成 ...
- Android学习之RecyclerView
RecyclerView是android-support-v7-21版本号中新增的一个Widget,官方介绍RecyclerView 是 ListView 的升级版本号,更加先进和灵活. 开发环境 - ...
- C++学习笔记36 (模板的细节明确template specialization)和显式实例(template instantiation)
C++有时模板很可能无法处理某些类型的. 例如: #include <iostream> using namespace std; class man{ private: string n ...
- JAVA学习第五十九课 — 网络编程概述
网络模型 OSI(Open System Interconnection)开放系统互连:參考模型 TCP/IP 网络通讯要素 IP地址 port号 传输协议 网络參考模型 七层OSI模型的基本概念要了 ...
- JavaEE(17) - JPA查询API和JPQL
1. 获取查询结果 2. JPQL函数和JPQL表达式 #1. 使用from子句 #2. 查询部分属性 #3. 查询中使用构造器 3. JPQL的关联查询和多态查询 #1. 多态查询 #2. 隐式连接 ...
- iOS类别(Category)和扩展(Extension,匿名类)
Category在iOS在开发常用. 特别是对于系统扩展上课时间.我们不能继承系统类.直接添加到系统类方法,最大程度上体现Objective-C动态语言特征. #import @interface N ...
- java 科学计算库
stackoverflow 上的讨论, 其中不乏lib的作者... http://stackoverflow.com/questions/529457/performance-of-java-matr ...