动态规划(DP),模拟
题目链接:http://poj.org/problem?id=1088
Memory: 252KTime: 16MSLanguage: C++Result: Accepted
解题报告:
1、lm[i][j]表示maps[i][j]所能到达的最长长度
2、状态转移方程
lm[i][j]=max(maps[i][j]四周的最大lm)+1;
#include <stdio.h>
#include <algorithm>
#include <string.h> using namespace std; #define MAX 105 int row,col;
int maps[MAX][MAX];///图表
int lm[MAX][MAX];///lm[i][j]表示maps[i][j]所能到达的最长长度
int mov[][]={{-,},{,},{,-},{,}}; int DP(int i,int j)///求maps[i][j]所能到达的最长长度
{
if(lm[i][j]!=)
return lm[i][j];
else
{
int maxx=,s;
for(int k=;k<;k++)
{
int tx=i+mov[k][];
int ty=j+mov[k][];
if(tx>=&&tx<row&&ty>=&&ty<col)
{
if(maps[i][j]>maps[tx][ty])
{
s=DP(tx,ty);
if(s>maxx)
maxx=s;
}
}
}
lm[i][j]=maxx+;
return maxx+;
}
}
int main()
{
int MAXLEN=;
scanf("%d%d",&row,&col);
for(int i=;i<row;i++)
{
for(int j=;j<col;j++)
scanf("%d",&maps[i][j]);
}
memset(lm,,sizeof(lm));
for(int i=;i<row;i++)
{
for(int j=;j<col;j++)
{
lm[i][j]=DP(i,j);
if(MAXLEN<lm[i][j])
MAXLEN=lm[i][j];
}
}
printf("%d\n",MAXLEN);
return ;
}
动态规划(DP),模拟的更多相关文章
- 动态规划dp
一.概念:动态规划dp:是一种分阶段求解决策问题的数学思想. 总结起来就一句话:大事化小,小事化了 二.例子 1.走台阶问题 F(10):10级台阶的走法数量 所以:F(10)=F(9)+F(8) F ...
- 算法-动态规划DP小记
算法-动态规划DP小记 动态规划算法是一种比较灵活的算法,针对具体的问题要具体分析,其宗旨就是要找出要解决问题的状态,然后逆向转化为求解子问题,最终回到已知的初始态,然后再顺序累计各个子问题的解从而得 ...
- hdu5009 Paint Pearls (DP+模拟链表)
http://acm.hdu.edu.cn/showproblem.php?pid=5009 2014网络赛 西安 比较难的题 Paint Pearls Time Limit: 4000/2000 M ...
- 【简单dp+模拟】hdu-5375(2015多校#7-1007)
给你一个二进制数,,每一位有一个权值,让你转格雷码,求所对应格雷码位为1的权值的和:二进制位中的某些位为?,你需要给这些问号赋值使得到的和最大. 首先你得知道二进制转格雷码的规则,即格雷码位为[二进制 ...
- 【转】动态规划DP
[数据结构与算法] DP 动态规划 介绍 原创 2017年02月13日 00:42:51 最近在看算法导论. DP全称是dynamic programming,这里programming不是编程,是一 ...
- 动态规划DP的优化
写一写要讲什么免得忘记了.DP的优化. 大概围绕着"是什么","有什么用","怎么用"三个方面讲. 主要是<算法竞赛入门经典>里 ...
- 【BZOJ】1622: [Usaco2008 Open]Word Power 名字的能量(dp/-模拟)
http://www.lydsy.com/JudgeOnline/problem.php?id=1622 这题我搜的题解是dp,我也觉得是dp,但是好像比模拟慢啊!!!! 1400ms不科学! 设f[ ...
- hdu 1421:搬寝室(动态规划 DP + 排序)
搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- hdu 2059:龟兔赛跑(动态规划 DP)
龟兔赛跑 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissi ...
随机推荐
- PostgreSQL 同步复制(1master+2standby)
OS: Red Hat Enterprise Linux Server release 6.5 (Santiago) PostgreSQL: postgresql-9.4.5.tar.bz2 mast ...
- Leetcode: Data Stream as Disjoint Intervals && Summary of TreeMap
Given a data stream input of non-negative integers a1, a2, ..., an, ..., summarize the numbers seen ...
- Mac 下 FlashBuilder的快捷键
Option + 上/下 当前行上下调整位置 Shift + Command + 左/右 选择当前行 Option + Command + 左/右 查看上一个类
- cookie的保存时间
使用 .setMaxAge()设置(单位是秒) second>0 保存在硬盘上的时间 second<0 默认保存在浏览器的内存中 second=0 立即删除
- paper 44 :颜色矩和颜色相关图(color correlogram)
- Bishop的大作《模式识别与机器学习》Ready to read!
久仰Bishop的大作“Pattern Recognition and Machine Learning”已久,在我的硬盘里已经驻扎一年有余,怎奈惧其页数浩瀚,始终未敢入手.近日看文献,屡屡引用之.不 ...
- 对OpenGL的GLFrame框架进行的扩展截至2014年11月29日
框架源自<OpenGL游戏编程>,增加了此框架的部分功能.其中有些小错误,尤其是MD2模型的那章,给出的框架只支持载入一个BOSS,当再载入一个BOSS时,就会发现两个模型的帧速会乱套. ...
- React快速入门
目录: 简介 Hello React! 虚拟DOM React组件 轮子来了:JSX 使用JSX 简介 React是Facebook开源的一个用于构建用户界面的Javascript库,已经 应用于Fa ...
- knockout之各种数据绑定方法:text、attr、visible、html、css、style绑定
http://knockoutjs.com/documentation/attr-binding.html(Knockout官网文档) 1.text绑定 目的:text 绑定到DOM元素上,使得该元素 ...
- Rsync详解
Rsync详解 1.什么是RsyncRsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本 ...