poj2385【基础DP】
挑战DP
题意:
有两棵树,给每分钟有苹果掉落的苹果树,一开始B在 1 树下,B最多只能移动W步,求一个最大数量拿到的。
思路:
一开始想的是,我对于每分钟情况来说无非是等于之前的在本位置+1,或者等于之前的非本位置,取个较大值。然后我想对于非本位置的就要对于步数+1,这可怎么记录呢,难死我了。困难就是,对于前i分钟他可以怎么换几步我不确定啊,额。。。然后可以确定的是前i分钟最多i步且小于等于w步吧…这可以吧,那么我对于前i分钟我就考虑对于这个点能移几步都算出了,保证了无后效性,最优性。我还可以调用前面的,完美。
对于这个位置,我移了j步,在原位置+1,非原位置+0,一共两棵树,所以和奇偶有很大关系,temp=j%2==0 ?2- a[i] : a[i]-1;
dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+temp;
ok,贴一发挫code…….
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
const int Mod=1e9;
const int INF=0x3f3f3f3f;
const int N=1e3+10;
int a[N];
int dp[N][33];
int main()
{
int n;
int w,j,k;
scanf("%d%d",&n,&w);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
memset(dp,0,sizeof(dp));
int temp;
for(int i=1;i<=n;i++)
{
dp[i][0]=dp[i-1][0]+2-a[i]; //0次
for(int j=1;j<=w&&j<=i;j++) //1-w次
{
if(j%2)
temp=a[i]-1;
else
temp=2-a[i];
dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+temp;
}
}
int ans=0;
for(int i=0;i<=w;i++)
ans=max(dp[n][i],ans);
printf("%d",ans);
return 0;
}
poj2385【基础DP】的更多相关文章
- 基础dp
队友的建议,让我去学一学kuangbin的基础dp,在这里小小的整理总结一下吧. 首先我感觉自己还远远不够称为一个dp选手,一是这些题目还远不够,二是定义状态的经验不足.不过这些题目让我在一定程度上加 ...
- 基础DP(初级版)
本文主要内容为基础DP,内容来源为<算法导论>,总结不易,转载请注明出处. 后续会更新出kuanbin关于基础DP的题目...... 动态规划: 动态规划用于子问题重叠的情况,即不同的子问 ...
- hdu 5586 Sum 基础dp
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Desc ...
- hdu 4055 Number String (基础dp)
Number String Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 训练指南 UVA - 10917(最短路Dijkstra + 基础DP)
layout: post title: 训练指南 UVA - 10917(最短路Dijkstra + 基础DP) author: "luowentaoaa" catalog: tr ...
- 训练指南 UVA - 11324(双连通分量 + 缩点+ 基础DP)
layout: post title: 训练指南 UVA - 11324(双连通分量 + 缩点+ 基础DP) author: "luowentaoaa" catalog: true ...
- 「kuangbin带你飞」专题十二 基础DP
layout: post title: 「kuangbin带你飞」专题十二 基础DP author: "luowentaoaa" catalog: true tags: mathj ...
- M - 基础DP
M - 基础DP Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descriptio ...
- lightoj1004【基础DP】
从低端到顶端求个最大值: 思路: 基础DP,递推 #include<cstdio> #include<queue> #include<map> #include&l ...
随机推荐
- Centos 6.x 安装Python 3.4.3
[root@squid ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf [root@squid ~]# grep keepcache /e ...
- weex 阶段总结
新年伊始,回顾过去的一年,收获很多,之前一直在研究weex,说心里话感觉心好累,官方文档不全,社区不活跃,遇到很多坑,官方发布的版本有时都有坑,搞得我都不敢更新版本了. 但是,研究了这么久,放弃太可惜 ...
- 子结点childNodes
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- iOS提交应用至App Store流程及真机调试 一,证书、配置文件
前言:你要有苹果开发人员账号,我用的是个人账号.其次xcode为xcode 7,因为xcode 7须要 os x 系统 10.11 或更高的版本号, 所以os x 系统也须要 10.11 或更高的版本 ...
- openwrt 编译 gmediarender
output_gstreamer.o: In function `my_bus_callback': output_gstreamer.c:(.text+0xf68): undefined refer ...
- Ctrl+Enter 选中文本提交
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <bod ...
- windows下安装RubbitMq
1.下载 下载 rabbitMQ :http://www.rabbitmq.com/download.html,安装rabbitmq需要erlang,下载erlang:http://www.erlan ...
- HDU 6113 度度熊的01世界 【DFS】(2017"百度之星"程序设计大赛 - 初赛(A))
度度熊的01世界 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- HDU 5627Clarke and MST
Clarke and MST Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- html的书写规范,有哪些注意点
1.最开始的声明格式与编码格式,注意html5与和html4.0的区别,注意对不同浏览器的渲染作用: 2.<head></head>标签中的相关内容的编写: 3.确保引入的jq ...