poj 1088 动态规划
#include <iostream>
#include <string.h>
using namespace std; int ans[][];//存储当前位置能得到的最优解
int map[][];//存储当前位置的元素值
int dir[][]={,,,,-,,,-};//四个方向,右,上,左,下
int N,M;
int max(int a,int b)
{
return a>b?a:b;
}
int dp(int i,int j)//得到[i,j]位置的最优解
{
if(ans[i][j]>) return ans[i][j];
//寻找四个方向的局部满足要求的最优解
int t,tempi,tempj;
int maxn=;
for(t=;t<;t++)
{
tempi=i+dir[t][];
tempj=j+dir[t][];
if(tempi>&&tempi<=N&&tempj>&&tempj<=M) //不可越界
{
if(map[tempi][tempj]<map[i][j])//低于[i,j]
maxn=max(maxn,dp(tempi,tempj));
}
}
return ans[i][j]=maxn+;
}
int main()
{
while(cin >>N >> M)
{
int answer=;
int i,j;
for(i=;i<=N;i++)
{
for(j=;j<=M;j++)
{
cin >> map[i][j];
}
}
memset(ans,,sizeof(ans));
for(i=;i<=N;i++)
{
for(j=;j<=M;j++)
{
ans[i][j]=dp(i,j);//得到[i,j]位置的最优解
answer=max(answer,ans[i][j]);//更新整体最优解
}
}
cout << answer;
}
return ;
}
poj 1088 动态规划的更多相关文章
- poj 1088 动态规划+dfs(记忆化搜索)
滑雪 Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Description Mi ...
- POJ 1088 滑雪(记忆化搜索+dp)
POJ 1088 滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 107319 Accepted: 40893 De ...
- POJ 1088 滑雪(记忆化搜索)
滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 92384 Accepted: 34948 Description ...
- POJ 1088 滑雪 -- 动态规划
题目地址:http://poj.org/problem?id=1088 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...
- POJ 1088 滑雪 ( DFS+动态规划思想 )
滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 79519 Accepted: 29581 Description ...
- OpenJudge/Poj 1088 滑雪
1.链接地址: bailian.openjudge.cn/practice/1088 http://poj.org/problem?id=1088 2.题目: 总Time Limit: 1000ms ...
- POJ 1088
http://poj.org/problem?id=1088 一道中文题,这道题如果不限时的话,是个简单的搜索,但限时的话,就要用记忆化搜索 所谓记忆化搜索就是对每一次搜索的结果进行记录,然后之后的如 ...
- POJ 1088 滑雪 (记忆化搜索)
题目链接:http://poj.org/problem?id=1088 题意很好懂,就是让你求一个最长下降路线的长度. dp[i][j]记录的是i j这个位置的最优的长度,然后转移方程是dp[i][j ...
- poj 1088 滑雪(区间dp+记忆化搜索)
题目链接:http://poj.org/problem?id=1088 思路分析: 1>状态定义:状态dp[i][j]表示在位置map[i][j]可以滑雪的最长区域长度: 2>状态转移方程 ...
随机推荐
- SpringMVC搭建+实例
想做一点自己喜欢的东西,研究了一下springMVC,所以就自己搭建一个小demo,可供大家吐槽. 先建一个WEB工程,这个相信大家都会,这里不在多说. 去网上下载spring jar包,然后在WEB ...
- SQL Server数据库读取数据的DateReader类及其相关类
之前学了几天的SQL Server,现在用C#代码连接数据库了. 需要使用C#代码连接数据库,读取数据. 涉及的类有: ConfigurationManage SqlConnection SqlCom ...
- MySQL二进制日志总结
二进制日志简单介绍 MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句.二进制日志(binary log)中记录了对MySQL数据 ...
- Android布局优化之层级优化
程序的每个组件和 Layout 都需要经过初始化.布局和绘制,如果布局嵌套层次过深,就会导致加载操作更为耗时,更严重的话还可能导致内存溢出.本节我们学习使用两个工具来检查和优化 Layout. Hie ...
- 从spring官网下载spring 架包
1.找到spring官网地址:http://spring.io/ 2.点击projects 3.点击springframework 4.点击图片
- React-native 初始化项目很慢
我是在Mac环境下,利用facebook开源的react-native创建原生app项目缓慢的问题 一:确定自己的环境配置是否有问题 二:打开终端,输入命令行 brew install wget 点击 ...
- HDU-2298 Toxophily (三分法入门系列)
题意: 意大利炮射出炮弹的速度为v,求在(0,0)击中(x,y)处的目标,发射炮弹的角度. 题解: 设f(α)表示角度为α时, f(α) = vsin(α) * t - 4.9 * t * t ① ...
- TCP/IP、HTTP、Socke、UDP的区别
一.TCP/IP.Http.Socket的区别 [http://jingyan.baidu.com/article/08b6a591e07ecc14a80922f1.html](http://jing ...
- 老李分享:大数据测试中java和hadoop关系
Hadoop的创始人是Doug Cutting, 同时也是著名的基于Java的检索引擎库Apache Lucene的创始人.Hadoop本来是用于著名的开源搜索引擎Apache Nutch,而Nutc ...
- “this kernel requires an x86-64 CPU, but only detects an i686 CPU, unable to boot” 问题解决
1. 问题描述: 在Virtual Box上安装 Ubuntu 系统时出现错误(如题),VIrtual Box 上也没有64位操作系统的选项 2.原因分析: (1) 可能 BIOS 的 Virtua ...