题目

简单的dp,但是我还是参考了网上的思路,具体我没考虑到的地方见代码

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
#define inf 2100000000
//int min(int a,int b)
//{
// return a<b? a:b;
//}
int main()
{
int t,i,j,n,m;
int t1,t2,t3,f1,f2;
int dp[][];
int ans; scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(i=;i<=;i++)
{
for(j=;j<=;j++)
{
dp[i][j]=inf;
}
}
dp[][m]=; for(i=;i<=n;i++)
{
scanf("%d%d%d%d%d",&t1,&t2,&t3,&f1,&f2);
for(j=;j<=m;j++)
{
if(j-f1>=)
dp[i][j-f1]=min(dp[i][j-f1],dp[i-][j]+t1);
dp[i][j]=min(dp[i][j],dp[i-][j]+t2); //原来是这个处理有问题,因为最大能量不能大于m,所以凡是能量大于m的,都算在等于m里面
//if(j+f2<=m)
// dp[i][j+f2]=min(dp[i][j+f2],dp[i-1][j]+t3);
int temp=(j+f2)>m? m:(j+f2);
dp[i][temp]=min(dp[i][temp],dp[i-][j]+t3); }
}
ans=inf;
for(i=;i<=m;i++)
{
ans=ans<dp[n][i]? ans:dp[n][i];
} printf("%d\n",ans);
}
return ;
}
//dp[i][j],到达i点剩余体力为j的最快时间

ps:dp,我要攻下你!

zju 2972 Hurdles of 110m(简单的dp)的更多相关文章

  1. ZOJ 2972 Hurdles of 110m 【DP 背包】

    一共有N段过程,每段过程里可以选择 快速跑. 匀速跑 和 慢速跑 对于快速跑会消耗F1 的能量, 慢速跑会集聚F2的能量 选手一开始有M的能量,即能量上限 求通过全程的最短时间 定义DP[i][j] ...

  2. TZOJ 1545 Hurdles of 110m(01背包dp)

    描述 In the year 2008, the 29th Olympic Games will be held in Beijing. This will signify the prosperit ...

  3. zoj 2972 - Hurdles of 110m

    题目:110米栏,运动员能够用三种状态跑,1状态耗体力且跑得快,2状态不消耗体力,3状态恢复体力且跑得慢. 体力上限是M,且初始满体力,如今想知到最小的时间跑全然程. 分析:dp,全然背包.题目是一个 ...

  4. 简单概率dp(期望)-zoj-3640-Help Me Escape

    题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4808 题目大意: 有n条路,选每条路的概率相等,初始能力值为f,每 ...

  5. ZOJ-2972-Hurdles of 110m(线性dp)

    Hurdles of 110m Time Limit: 2 Seconds      Memory Limit: 65536 KB In the year 2008, the 29th Olympic ...

  6. HDU 2089 简单数位dp

    1.HDU 2089  不要62    简单数位dp 2.总结:看了题解才敲出来的,还是好弱.. #include<iostream> #include<cstring> #i ...

  7. HDU 3853LOOPS(简单概率DP)

    HDU 3853    LOOPS 题目大意是说人现在在1,1,需要走到N,N,每次有p1的可能在元位置不变,p2的可能走到右边一格,有p3的可能走到下面一格,问从起点走到终点的期望值 这是弱菜做的第 ...

  8. Aeroplane chess(简单概率dp)

    Hzz loves aeroplane chess very much. The chess map contains N+1 grids labeled from 0 to N. Hzz start ...

  9. 简单Dp----最长公共子序列,DAG最长路,简单区间DP等

    /* uva 111 * 题意: * 顺序有变化的最长公共子序列: * 模板: */ #include<iostream> #include<cstdio> #include& ...

随机推荐

  1. The Name/Origin of Country names

    1.Puerto Rico (Spanish for "Rich Port"/富裕的港口/富港 ) 2.HongKong(Chinese for "香港")

  2. MVC校验

    首先Model里面需要写好校验标签, 我的数据库中有个tblUserInfo表,其中有Id,UserName,,Age三个列,Id自动增长 Model添加UserInfo Class,在UserNam ...

  3. 运行maven报错:经过检查是因为maven不兼容jdk1.6,重新安装1.7解决

    cmd mvn -v报错: Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apach ...

  4. 【Qt】Qt之进程间通信(IPC)【转】

    简述 进程间通信,就是在不同进程之间传播或交换信息.那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区.但是,系统空间却是“ ...

  5. 下载服务器dll文件并动态加载

    1.新加一个类库 namespace ClassLibrary1 { public class Class1 { public int Add(int a, int b) { return a + b ...

  6. SequoiaDB 1.5 版本发布

    SequoiaDB 1.5 – 2013.11.13 新特性    1. 新增聚合特性,API实现 GROUPBY, MAX 等功能:    2. 全新改版的Web管理界面:    3. 提供C#语言 ...

  7. [大牛翻译系列]Hadoop(16)MapReduce 性能调优:优化数据序列化

    6.4.6 优化数据序列化 如何存储和传输数据对性能有很大的影响.在这部分将介绍数据序列化的最佳实践,从Hadoop中榨出最大的性能. 压缩压缩是Hadoop优化的重要部分.通过压缩可以减少作业输出数 ...

  8. Sending Email from mailx Command in Linux Using Gmail’s SMTP

    The mailx or mail command in Linux is still providing service for guys like me, especially when we n ...

  9. roscpp源码阅读

    roscpp doxgen 这只是我摘取的一些主要代码 node_handle.cpp //NodeHandle的构造函数 void NodeHandle::construct(const std:: ...

  10. Oracle varchar2 4000

    关于oracle varchar2 官方文档的描述 VARCHAR2 Data Type The VARCHAR2 data type specifies a variable-length char ...