【UVA】10285-Longest Run on a Snowboard(动态规划)
这是一个简单的问题。你并不需要打印路径。
状态方程dp[i][j] = max(dp[i-1][j],dp[i][j-1],dp[i+1][j],dp[i][j+1]);
| 14003395 | 10285 |
option=com_onlinejudge&Itemid=8&page=show_problem&problem=1226" style="margin:0px; padding:0px; color:rgb(153,0,0); text-decoration:none">Longest Run on a Snowboard |
Accepted | C++ | 0.026 | 2014-08-07 11:43:51 |
枚举每一个点进行遍历,使用记忆化搜索。要不会超时。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
#include<stack>
#include<queue>
#include<map>
#include<set>
#include<list>
#include<string>
#include<sstream>
#include<ctime>
using namespace std;
#define _PI acos(-1.0)
#define INF (1 << 10)
#define esp 1e-6
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> pill;
/*===========================================
===========================================*/
#define MAXD 100 + 10
char name[MAXD];
int m,n,ans;
int dp[MAXD][MAXD];
int mat[MAXD][MAXD];
int dir[4][2] = {{0,1},{0,-1},{1,0},{-1,0}};
int DP(int x,int y){
if(dp[x][y] != -1)
return dp[x][y];
dp[x][y] = 1;
for(int i = 0 ; i < 4 ; i++){
int _x = dir[i][0] + x;
int _y = dir[i][1] + y;
if(_x >= 0 && _y >=0 && _x < n && _y < m && mat[x][y] < mat[_x][_y]){
dp[x][y] = max(dp[x][y],DP(_x,_y) + 1);
}
}
ans = max(ans,dp[x][y]);
return dp[x][y];
}
int main(){
int T;
scanf("%d",&T);
while(T--){
scanf("%s%d%d",name,&n,&m);
int pos_x,pos_y;
int MIN = INF;
memset(dp,-1,sizeof(dp));
for(int i = 0 ; i < n ; i++)
for(int j = 0 ; j < m ; j++){
scanf("%d",&mat[i][j]);
if(mat[i][j] < MIN){
MIN = mat[i][j];
pos_x = i;
pos_y = j;
}
}
ans = 0;
for(int i = 0 ; i < n ; i++)
for(int j = 0 ; j < m ; j++)
DP(i,j);
printf("%s: %d\n",name,ans);
}
return 0;
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
【UVA】10285-Longest Run on a Snowboard(动态规划)的更多相关文章
- UVA 10285 - Longest Run on a Snowboard (记忆化搜索+dp)
Longest Run on a Snowboard Input: standard input Output: standard output Time Limit: 5 seconds Memor ...
- UVA 10285 Longest Run on a Snowboard(记忆化搜索)
Problem C Longest Run on a Snowboard Input: standard input Output: standard output Time Limit: 5 sec ...
- UVa 10285 Longest Run on a Snowboard - 记忆化搜索
记忆化搜索,完事... Code /** * UVa * Problem#10285 * Accepted * Time:0ms */ #include<iostream> #includ ...
- UVa 10285 Longest Run on a Snowboard【记忆化搜索】
题意:和最长滑雪路径一样, #include<iostream> #include<cstdio> #include<cstring> #include <c ...
- UVa 10285 - Longest Run on a Snowboard
称号:给你一个二维矩阵,找到一个点.每一个可以移动到的位置相邻的上下,求最长单调路径. 分析:贪婪,dp.搜索. 这个问题是一个小样本,我们该怎么办. 这里使用贪心算法: 首先.将全部点依照权值排序( ...
- UVA - 10285 Longest Run on a Snowboard (线性DP)
思路:d[x][y]表示以(x, y)作为起点能得到的最长递减序列,转移方程d[x][y] = max(d[px][py] + 1),此处(px, py)是它的相邻位置并且该位置的值小于(x, y)处 ...
- UVA - 10285 Longest Run on a Snowboard(最长的滑雪路径)(dp---记忆化搜索)
题意:在一个R*C(R, C<=100)的整数矩阵上找一条高度严格递减的最长路.起点任意,但每次只能沿着上下左右4个方向之一走一格,并且不能走出矩阵外.矩阵中的数均为0~100. 分析:dp[x ...
- [动态规划]UVA10285 - Longest Run on a Snowboard
Problem C Longest Run on a Snowboard Input: standard input Output: standard output Time Limit: 5 sec ...
- 【Uva 10285】Longest Run on a Snowboard
[Link]: [Description] 在一个r*c的格子上; 求最长的下降路径; [Solution] 记忆化搜索; f[x][y]表示从(x,y)这个格子往下还能走多远; 因为是严格递增,所以 ...
随机推荐
- MEF初体验之九:部件生命周期
理解MEF容器中部件的生命周期及其含义是非常重要的.鉴于MEF重点在开放端应用程序,这将变得尤其重要的,一旦app ships和第三方扩展开始运行,作为应用程序的开发者将很好地控制这一系列的部件.生命 ...
- 【2014 Multi-University Training Contest 2 1002】/【HDU 4873】 ZCC Loves Intersection
果然,或滥用零件,啥都不说了.我们欣慰地学习阅读.这两天残疾儿童是数学. 这是求所需的问题,不明确.贴上官方的解题报告. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi ...
- Cocos2d-X中间应用
(层)Laye:与球员打交道响应事件Node子类. 不同的场景,层通常包括直接在屏幕上呈现的内容.而且能够接受用户的输入事件.包括触摸,加速度计和键盘输入等. 我们须要在层中加入精灵,文本标签或者其它 ...
- python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)
使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们 ...
- Laravel nginx 伪静态规则
最近的各种调查PHP相框(CI, Cake, ThinkPHP, Laravel, Yii)情绪Laravel它看起来很漂亮,下一个深入了解.用发展机Apache,Stage在运行nginx,一旦部署 ...
- HDU 4125 Moles 段树+KMP
意甲冠军: 特定n, 下面是一个1-n该装置. 下面的二进制字符串. 按给定的建立二叉树安排. 然后遍历树(根->左子树->根->右子树->根) 当遍历节点 如果右值为奇数入栈 ...
- struts2跳转类型解析
struts 2 跳转类型 1.dispatcher dispatcher 为默认跳转类型.用于返回一个视图资源 xml代码 : <result name="success" ...
- Google大数据三篇著名论文----中文版
Google File System中文版 Google Bigtable中文版 Google MapReduce中文版
- 基于hadoop的电影推荐结果可视化
数据可视化 1.数据的分析与统计 使用sql语句进行查询,获取所有数据的概述,包括电影数.电影类别数.人数.职业种类.点评数等. 2.构建数据可视化框架 这里使用了前端框架Bootstrap进行前端的 ...
- 控制执行流程——(Java学习笔记三)
if-else 控制程序流程最基本的形式 格式: if(boolean - expresion){ statement } 或 if(boolean - expresion){ stateme ...