zju 2972 Hurdles of 110m(简单的dp)
简单的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)的更多相关文章
- ZOJ 2972 Hurdles of 110m 【DP 背包】
		一共有N段过程,每段过程里可以选择 快速跑. 匀速跑 和 慢速跑 对于快速跑会消耗F1 的能量, 慢速跑会集聚F2的能量 选手一开始有M的能量,即能量上限 求通过全程的最短时间 定义DP[i][j] ... 
- 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 ... 
- zoj 2972 - Hurdles of 110m
		题目:110米栏,运动员能够用三种状态跑,1状态耗体力且跑得快,2状态不消耗体力,3状态恢复体力且跑得慢. 体力上限是M,且初始满体力,如今想知到最小的时间跑全然程. 分析:dp,全然背包.题目是一个 ... 
- 简单概率dp(期望)-zoj-3640-Help Me Escape
		题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4808 题目大意: 有n条路,选每条路的概率相等,初始能力值为f,每 ... 
- ZOJ-2972-Hurdles of 110m(线性dp)
		Hurdles of 110m Time Limit: 2 Seconds Memory Limit: 65536 KB In the year 2008, the 29th Olympic ... 
- HDU 2089   简单数位dp
		1.HDU 2089 不要62 简单数位dp 2.总结:看了题解才敲出来的,还是好弱.. #include<iostream> #include<cstring> #i ... 
- HDU 3853LOOPS(简单概率DP)
		HDU 3853 LOOPS 题目大意是说人现在在1,1,需要走到N,N,每次有p1的可能在元位置不变,p2的可能走到右边一格,有p3的可能走到下面一格,问从起点走到终点的期望值 这是弱菜做的第 ... 
- Aeroplane chess(简单概率dp)
		Hzz loves aeroplane chess very much. The chess map contains N+1 grids labeled from 0 to N. Hzz start ... 
- 简单Dp----最长公共子序列,DAG最长路,简单区间DP等
		/* uva 111 * 题意: * 顺序有变化的最长公共子序列: * 模板: */ #include<iostream> #include<cstdio> #include& ... 
随机推荐
- 杭电ACM2080--夹角有多大II
			http://acm.hdu.edu.cn/showproblem.php?pid=2080 /* //Author:nunu // #include <stdio.h> #include ... 
- Essential C++ 学习笔记02--Array/Vector 与指针
			Essential C++ 1.5-1.6节,3.1节笔记 Array/Vector/指针,难度偏大, 但若学习初期不熟悉基本用法,则难以写出有效代码. 1. 基本概念 Array 是一段连续内存,数 ... 
- 【风马一族_Android】代码英语之二 布局文件的Android各个参数
			布局文件的Android各个参数 第一类:属性值 true或者 false android:layout _center Hrizontal 水平居中 android:la ... 
- hadoop架构
			HADOOP中可以分为两个大的模块,存储模块和计算模块.HDFS作为存储模块,JobTracker,TaskTracker构成计算模块. 1.HADOOP的文件是以HDFS格式存储的 HDFS ... 
- 关于PHP Websocket 错误: "stream_select(): You MUST recompile PHP with a larger value of FD_SETSIZE" 的解决方案
			最近在使用Ratchet (一个PHP websocket框架)改造一个PHP网站的时候,出现了错误: "It is set to 1024, but you have descriptor ... 
- C++  socket编程
			源代码项目下载:http://download.csdn.net/detail/mmyzlinyingjie/7049499 TCP类的: TcpServer.cpp //WSAStartup soc ... 
- Laravel 5 基础(二)- 路由、控制器和视图简介
			查看 app/Http/routes.php Route::get('/', 'WelcomeController@index'); @是一个界定符,前面是控制器,后面是动作,表示当用户请求url / ... 
- openerp学习笔记 计算字段、关联字段(7.0中非计算字段、关联字段只读时无法修改保存的问题暂未解决)
			计算字段.关联字段,对象修改时自动变更保存(当 store=True 时),当 store=False 时,默认不支持过滤和分组7.0中非计算字段.关联字段只读时无法修改保存的问题暂未解决 示例代码: ... 
- Python数据结构——栈、队列的实现(一)
			1. 栈 栈(Stack)是限制插入和删除操作只能在一个位置进行的表,该位置是表的末端,称为栈的顶(top).栈的基本操作有PUSH(入栈)和POP(出栈).栈又被称为LIFO(后入先出)表. 1.1 ... 
- Hiberante+jpa,注解生成32字符的Id
			@Id @GenericGenerator(name = "id-generator", strategy = "uuid") @GeneratedValue( ... 
