[POJ 2397] Spiderman
Link:
Solution:
设$dp[i][j]$表示第$i$步走到$j$高度时经过的最高高度
分向上走和向下走两种方式转移即可
注意记录路径,最后输出时要逆序输出
(逆序输出时可以考虑利用递归方式输出)
Code:
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <algorithm> using namespace std;
const int INF=0x3f3f3f3f;
int T,n,d,dp[][],pre[][]; void print(int cur,int h)
{
if(pre[cur][h]==INF || cur<) return;
print(cur-,pre[cur][h]);
printf("%c",(pre[cur][h]>h)?'D':'U');
} int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
memset(dp,0x3f,sizeof(dp));memset(pre,0x3f,sizeof(pre));
dp[][]=;
for(int i=;i<n;i++)
{
scanf("%d",&d);
for(int j=;j<=;j++)
{
if(dp[i][j]==INF) continue;
if(j+d<= && dp[i+][j+d]>max(dp[i][j],j+d))
dp[i+][j+d]=max(dp[i][j],j+d),pre[i+][j+d]=j;
if(j-d>= && dp[i+][j-d]>dp[i][j])
dp[i+][j-d]=dp[i][j],pre[i+][j-d]=j;
}
}
if(dp[n][]==INF) puts("IMPOSSIBLE");
else print(n,),puts("");
}
return ;
}
[POJ 2397] Spiderman的更多相关文章
- POJ 1925 Spiderman
Spiderman Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5858 Accepted: 1143 Description ...
- POJ 1925 Spiderman(DP)
题目链接 这个破题,好不容易思路清楚了,写的就是过不了..关键部分直接抄的别人的...终于A了,自己写的判断什么的,就是有一组数据过不了. #include <cstdio> #inclu ...
- poj动态规划列表
[1]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 13 ...
- POJ 动态规划题目列表
]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322 ...
- [转] POJ DP问题
列表一:经典题目题号:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,1208, 1276, 13 ...
- POJ动态规划题目列表
列表一:经典题目题号:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,1208, 1276, 13 ...
- DP题目列表/弟屁专题
声明: 1.这份列表不是我原创的,放到这里便于自己浏览和查找题目. ※最近更新:Poj斜率优化题目 1180,2018,3709 列表一:经典题目题号:容易: 1018, 1050, 1083, 10 ...
- poj 题目分类(1)
poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...
随机推荐
- selenium 使用谷歌浏览器模拟wap测试
/** * 使用谷歌浏览器模拟手机浏览器 * @param devicesName * @author xxx * 创建时间:2017-06-15,更新时间:2017-06-15 * 备注 */ pu ...
- Google浏览器历史版本下载地址和驱动器对应关系地址分享
Google浏览器历史版本下载地址https://www.slimjet.com/chrome/google-chrome-old-version.php google webdriver下载地址分享 ...
- CentOS 7.5 部署蓝鲸运维平台
环境准备 官方建议 准备至少3台 CentOS 7 以上操作系统的机器 最低配置:2核4G 建议配置: 4核12G 以上 部署前关闭待安装主机之间防火墙,保证蓝鲸主机之间通信无碍 部署前关闭SELin ...
- Where can I find the IPA logs
Retrieving the IPA logs will differ depending on which base image was used. Operating system that do ...
- Struts2的result返回类型
- 关于spark RDD trans action算子、lineage、宽窄依赖详解
这篇文章想从spark当初设计时为何提出RDD概念,相对于hadoop,RDD真的能给spark带来何等优势.之前本想开篇是想总体介绍spark,以及环境搭建过程,但个人感觉RDD更为重要 铺垫 在h ...
- 威士忌(whiskey)
威士忌(whiskey) 题目描述 Alan 喝了假威士忌,想问你一个问题: nvliu66 推荐大家读三本书<百年孤独>.<城市发展史>.<美国大城市的生与死>, ...
- Eclipse 日文乱码怎么解决Shift_JIS
https://jingyan.baidu.com/article/870c6fc325a691b03fe4beac.html Eclipse设置编码的地方主要有三处,这三处的设置都会影响中文的显示. ...
- JavaScript 代码性能优化总结
本文转自:http://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=400360237&idx=2&sn=eb00241cb3b ...
- hibernate中Configuration类的作用
问题:我们在获得一个SessionFactory对象的时候经常是写下面这行代码: SessionFactory sessionFactory = new Configuration().configu ...