九度OJ 1086 最小花费--动态规划
来源:互联网 发布:逆袭网络剧百度云盘 编辑:程序博客网 时间:2024/05/18 01:09
题目地址:http://ac.jobdu.com/problem.php?pid=1086
- 题目描述:
- 在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下:距离s 票价0<S<=L1 C1L1<S<=L2 C2L2<S<=L3 C3输入保证0<L1<L2<L3<10^9,0<C1<C2<C3<10^9。每两个站之间的距离不超过L3。当乘客要移动的两个站的距离大于L3的时候,可以选择从中间一个站下车,然后买票再上车,所以乘客整个过程中至少会买两张票。现在给你一个 L1,L2,L3,C1,C2,C3。然后是A B的值,其分别为乘客旅程的起始站和终点站。然后输入N,N为该线路上的总的火车站数目,然后输入N-1个整数,分别代表从该线路上的第一个站,到第2个站,第3个站,……,第N个站的距离。根据输入,输出乘客从A到B站的最小花费。
- 输入:
- 以如下格式输入数据:L1 L2 L3 C1 C2 C3A BNa[2]a[3]……a[N]
- 输出:
- 可能有多组测试数据,对于每一组数据,根据输入,输出乘客从A到B站的最小花费。
- 样例输入:
1 2 3 1 2 31 222
- 样例输出:
2
#include <stdio.h> #define MAXC 2211686018427387904#define MAXN 30000 long long l1, l2, l3, c1, c2, c3; //距离、花费int N; //车站数 long long Compute_Cost(int start, int end, long long len[]);long long getSpend(int start, int end, long long len[]); int main(void){ int start, end; //开始站、结束站 long long len[MAXN] = {0}; int i; while (~scanf("%lld %lld %lld %lld %lld %lld",&l1,&l2,&l3,&c1,&c2,&c3)){ scanf("%d %d", &start, &end); scanf("%d", &N); len[1] = 0; for (i=2; i<=N; ++i){ scanf("%lld", &len[i]); } printf("%lld\n", Compute_Cost(start, end, len)); } return 0;} long long getSpend(int start, int end, long long len[]){ if (len[end] - len[start] <= l1) return c1; else if (len[end] - len[start] <= l2) return c2; else return c3;} long long Compute_Cost(int start, int end, long long len[]){ int i, j; long long min, tmp; long long cost[MAXN] = {0}; cost[start] = 0; for (i=start+1; i<=end; ++i){ min = MAXC; for (j=i-1; j>=start && (len[i]-len[j] <= l3); --j){ tmp = cost[j] + getSpend(j, i, len); if (tmp < min) min = tmp; } cost[i] = min; } min = cost[end]; return min;}
0 0
- 九度OJ 1086 最小花费--动态规划
- 九度OJ 1086 动态规划之《最小花费》——11年清华机试真题
- 九度OJ 1086 最小花费
- 九度OJ 题目1086:最小花费
- 九度 oj 题目1086:最小花费
- 九度OJ 1086 清华大学2011年机试 《最小花费》
- 九度OJ 1086:最小花费 (DP)
- 九度OJ 1209 最小邮票数 -- 动态规划
- 动态规划求解 最小花费
- 【九度OJ】1086【线性动态规划】
- 动态规划 - 九度OJ 1480
- 九度OJ 1499 动态规划
- 九度OJ 1547 动态规划
- 动态规划实例(六):最小花费路径
- 九度OJ 教程99 动态规划之《搬寝室》
- 九度OJ 1462 动态规划变形之《两船载物问题》
- 九度OJ 1077 最大序列和 -- 动态规划
- 九度OJ 1451 不容易系列之一 -- 动态规划
- onvif规范的实现:成功实现ONVIF协议RTSP-Video-Stream与OnvifDeviceManager的视频对接
- 图片相关--相册选择、拍照、缩放、裁减
- String对象创建个数
- 定义一个以is开头的全局变量利用IDEA的Getter and Setter自动生成get跟set方法出现的问题
- 2013年,腾讯公司的年终报告
- 九度OJ 1086 最小花费--动态规划
- 虚函数,纯虚函数,抽象类
- postgis_topo
- c語言學習
- 错误 1 error C2440:“类型转换”: 无法从“void (__thiscall GameLayer::* )(cocos2d::CCObject *)”转换为“cocos2d::SEL_C
- VLC源码分析
- 运行时异常与一般异常有何异同?
- ie6,ie7 不支持 JSON.stringify解决办法
- ibatis <resultMap> 中jdbctype属性取值