poj2385(基础DP)
题目链接:http://poj.org/problem?id=2385
题意:最开始Bessie站在树1下面,每一个单位时间有颗苹果从树1或者树2上落下来。每个单位时间Bessie可以移动一次位置,时间长度为T(<=1000),Bessie最多移动W次(<=30)。求Bessie最多能得到多少苹果。
思路:好久没写过dp题了,这道题又弄了好久。QAQ...
创建dp[1005][35]。
其中dp[i][j]表示第i个单位时间时,Bessie移动了j次最多能得到的苹果数。首先要初始化i=1的情况:
if(a[1]==1)
dp[1][0]=1;
else
dp[1][1]=1;
当i>=2时:
如果j==0:dp[i][j]=dp[i-1][j]+(a[i]==1)
否则:dp[i][j]=max(dp[i-1][j],dp[i-1][j-1)
if(j%2+1==a[i]) ++dp[i][j]。
代码如下:
#include<cstdio>
#include<algorithm>
using namespace std; int t,w,ans,a[],dp[][]; int main(){
scanf("%d%d",&t,&w);
for(int i=;i<=t;++i)
scanf("%d",&a[i]);
if(a[]==)
dp[][]=;
else
dp[][]=;
for(int i=;i<=t;++i){
for(int j=;j<=min(i,w);++j){
if(j==)
dp[i][j]=dp[i-][j]+(a[i]==);
else{
dp[i][j]=max(dp[i-][j-],dp[i-][j]);
if(j%+==a[i]) ++dp[i][j];
}
}
}
for(int i=;i<=min(t,w);++i)
if(dp[t][i]>ans)
ans=dp[t][i];
printf("%d\n",ans);
return ;
}
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 ...
- poj2385【基础DP】
挑战DP 题意: 有两棵树,给每分钟有苹果掉落的苹果树,一开始B在 1 树下,B最多只能移动W步,求一个最大数量拿到的. 思路: 一开始想的是,我对于每分钟情况来说无非是等于之前的在本位置+1,或者等 ...
随机推荐
- 解压 压缩 C#
public class SharpZip { public SharpZip() { } /// <summary> /// 压缩 /// </summary> /// &l ...
- CF1146F Leaf Partition 树形DP
感觉很多树上难以直接求解的问题都可以转化为动态规划问题并进行求解$.$ 令 $f[x],g[x]$ 分别表示以 $x$ 为根的子树不想上延申,向上延申的方案数$.$ 这里向上延申指的是会有其他子树的节 ...
- tar:文件打包归档
造冰箱的大熊猫@cnblogs 2018/12/24 1.什么是tar 1.1.tar tar命令将指定的文件.文件夹打包(存储)为一个文件(归档文件,archive file).tar将被归档文件以 ...
- android启动模拟器命令
参考资料:http://blog.csdn.net/sanjinxiong/article/details/6758222 启动模拟器 首先通过android list avd 查看建好的虚拟设备: ...
- 关于项目在网页中运行部分jsp出现乱码(由request.getRequestDispatcher("XXX.jsp").forward(request, response)造成)的解决方法
在写jsp的时候发现部分的jsp在浏览器预览时出现乱码,为一堆问号,如图: 当时问了同学,只有部分jsp会出现乱码,因为重新建一个jsp在运行就没有错误,可以显示出来,所以发现是jsp头部的错误,当新 ...
- selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
抓取网页代码后,由于是在同一个li标签下,所以使用一次性抓取,所有的a标签,然后循环做不同的操作,但是抛出找不到元素异常. def office_page(_chrome: Chrome): sn = ...
- Http请求优化
Http请求优化 我们在做项目开发或多或少的都会使用SpringCloud,其中做远程调度的时候会将HTTP请求Http请求优化. HTTP请求Client存在很多种. JDK原生的URLConnec ...
- Riot.js——一个小而美的JS框架
Riot.js是什么? Riot 拥有创建现代客户端应用的所有必需的成分: "响应式" 视图层用来创建用户界面 用来在各独立模块之间进行通信的事件库 用来管理URL和浏览器回退按钮 ...
- 了解dubbo+zookeeper
一.Dubbo是什么? Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程 ...
- 【2】PRD文档介绍
首先,我想说,题主是一个不严肃的人(严肃脸),所以每次干个啥事之前我都喜欢唠唠嗑,说说废话,沟通沟通感情,曾经以为自己将会成为一个幻想中的产品经理那般大展身手,作为非计算机专业出身的应届生,后来才发现 ...