宝石猎人 51Nod - 1455
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1455
很久没做动态规划了 菜的一批。。
dp[i][j]代表从i-j走了j步到i得到的最多宝石数量 但是复杂度太高
但是总长度只有30000 一开始走d步 每次增1 sqrt(30000)左右就会走到头 也就是说后续步伐与初始步伐的偏移量不超过sqrt(30000) 所以第二维可以降成几百左右
#include <bits/stdc++.h>
using namespace std;
const int maxn=3e4+10;
const int maxm=6e2+10;
const int det=300;int dp[maxn][maxm];
int pos[maxn];
int n,d;int main()
{int i,j,maxx,p,ans;scanf("%d%d",&n,&d);maxx=0;for(i=1;i<=n;i++){scanf("%d",&p);maxx=max(maxx,p);pos[p]++;}memset(dp,-1,sizeof(dp));dp[d][det]=pos[d];ans=pos[d];for(i=d+1;i<=maxx;i++){for(j=0;j<=600;j++){if(d<=i-(d+j-det)&&i-(d+j-det)<=maxx){if(j-1>=0&&dp[i-(d+j-det)][j-1]!=-1) dp[i][j]=max(dp[i][j],dp[i-(d+j-det)][j-1]+pos[i]);if(dp[i-(d+j-det)][j]!=-1) dp[i][j]=max(dp[i][j],dp[i-(d+j-det)][j]+pos[i]);if(j+1<=600&&dp[i-(d+j-det)][j+1]!=-1) dp[i][j]=max(dp[i][j],dp[i-(d+j-det)][j+1]+pos[i]);ans=max(ans,dp[i][j]);}}}printf("%d\n",ans);return 0;
}
宝石猎人 51Nod - 1455相关推荐
- 宝石猎人 51Nod - 1455 记忆化搜索
苏塞克岛是一个有着30001个小岛的群岛,这些小岛沿着一条直线均匀间隔分布,从西到东编号为0到30000.众所周知,这些岛上有很多宝石,在苏塞克岛上总共有n颗宝石,并且第i颗宝石位于岛 pi上. 小法 ...
- 51nod 1455 宝石猎人(记忆化搜索)
1455 宝石猎人 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 苏塞克岛是一个有着30001个小岛的群岛, ...
- 51nod 1455:宝石猎人
1455 宝石猎人 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 苏塞克岛是一个有着30001个小岛的群岛, ...
- 【51Nod四级题】宝石猎人
宝石猎人 链接: https://www.51nod.com/Challenge/Problem.html#problemId=1455 题意: 苏塞克岛是一个有着30001个小岛的群岛,这些小岛沿着 ...
- 51nod1455 宝石猎人
51nod 宝石猎人 2.0 2.0 2.0 秒/ 131 , 072.0 131,072.0 131,072.0 KB/ 40 40 40 分 / 4 4 4级题 食物(题目) 苏塞克岛是一个有着 ...
- [51nod1455]宝石猎人——DP
1455 宝石猎人 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 苏塞克岛是一个有着30001个小岛的群岛,这些小岛 ...
- 51nod1455 宝石猎人【dp---状态转移】
1455 宝石猎人 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 苏塞克岛是一个有着30001个小岛的群岛, ...
- 51nod 1455 宝石猎人
苏塞克岛是一个有着30001个小岛的群岛,这些小岛沿着一条直线均匀间隔分布,从西到东编号为0到30000.众所周知,这些岛上有很多宝石,在苏塞克岛上总共有n颗宝石,并且第i颗宝石位于岛 pi上. 小法 ...
- 51nod 1455 宝石猎人(dp or 记忆化搜索)
苏塞克岛是一个有着30001个小岛的群岛,这些小岛沿着一条直线均匀间隔分布,从西到东编号为0到30000.众所周知,这些岛上有很多宝石,在苏塞克岛上总共有n颗宝石,并且第i颗宝石位于岛 pi上. 小法 ...
最新文章
- BackboneFast
- 2010年十大投资机会(转载)
- POJ1083 Moving Tables
- java参数注解pam_java – 使用xmlelement defaultvalue注释指定默认值的简单方法
- 数据采集之解析Mysql的binlog日志发送至Kafka实时消费(转:https://blog.csdn.net/liguohuabigdata/article/details/79472777)
- 广文艺计算机综合美术,广东文艺职业学院2018年第二批合同制人员招聘专业技能考核和试讲题目...
- python语言key_Python语言学习:字典常用的方法
- python progressbar print_python print 进度条的例子
- Linux基础:linux网络接口
- kangle 3.4.8 发布,国产开源 Web 服务器
- mysql基础之mariadb集群主从架构
- 4.卷1(套接字联网API)---基本TCP套接字编程
- excel中vlookup函数的使用方法_Excel中Vlookup——从入门到放弃
- 神经网络物联网未来发展趋势怎么样
- 关闭Dell笔记本触摸板
- c语言怎么写最小公倍数的函数,c语言最小公倍数怎么求
- 两台计算机传输文件速度,一根网线,两台电脑,超高速传输文件
- 计算机鼠标右键的主要应用是什么原因,win7电脑桌面鼠标右键功能和作用|win7 64位桌面右键没反应,反应非常慢...
- MT6737/MT6737T/MT6737M处理器功能介绍,MT6737芯片资料下载
- 在ubuntu19.04中安装flash插件
热门文章
- php删除sql server 2008,MSSQL_SQL Server2008 数据库误删除数据的恢复方法分享,SQL Server中误删除数据的恢复本 - phpStudy...
- 深度学习在医学影像的创新
- 《OFFICE高级应用》课程学习网站的设计与实现
- 有孚专有存储云助力传统媒体实现云上转型
- 关于有音频中去除人声失败的问题
- 堡垒机JumpServer搭建与使用
- JavaScript基础: ES6新特性---Symbol
- 怎么把mpg格式转换成mp4?
- Android N版本 三指截屏
- 计算机学院 德育计划,信息技术教师德育工作计划范文