跑跑卡丁车

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1778    Accepted Submission(s): 583

Problem Description
跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣。这款游戏的特别之处是你可以通过漂移来获得一种
加速卡,用这种加速卡可以在有限的时间里提高你的速度。为了使问题简单化,我们假设一个赛道分为L段,并且给你通过每段赛道的普通耗时Ai和用加速卡的耗时Bi。加速卡的获得机制是:普通行驶的情况下,每通过1段赛道,可以获得20%的能量(N2O).能量集满后获得一个加速卡(同时能量清0).加速卡最多可以储存2个,也就是说当你有2个加速卡而能量再次集满,那么能量清零但得不到加速卡。一个加速卡只能维持一段赛道,游戏开始时没有加速卡。

问题是,跑完n圈最少用时为多少?

Input
每组输入数据有3行,第一行有2个整数L(0<L<100),N(0<N<100)分别表示一圈赛道分为L段和有N圈赛道,接下来两行分别有L个整数Ai和Bi
(Ai > Bi).
Output
对于每组输入数据,输出一个整数表示最少的用时.
Sample Input
18 1
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
8 8 8 8 8 8 8 8 8 8 8 8 8 8 1 1 8 8
Sample Output
145

Hint

Hint

对于sample这组数据,你可以先在普通情况下行驶前14段,这时你有2个加速卡以及80%的能量(N2O).在第15和16段用掉2个加速卡,通过第17段赛道后又可以得到一个加速卡,在第18段赛道使用.

Author
xhd
Source
“2006校园文化活动月”之“校庆杯”大学生程序设计竞赛暨杭州电子科技大学第四届大学生程序设计竞赛
Recommend
LL
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int a[11111],b[11111];
int dp[11111][15];
const int INF=0x3f3f3f3f;
int main()
{
int L,N;
while(cin>>L>>N)
{
int tot=L*N;
for(int i=0;i<L;i++)
cin>>a;
for(int i=0;i<L;i++)
cin>>b;
for(int i=0;i<=tot;i++)
{
a=a[i%L];
b=b[i%L];
}
for(int i=0;i<=tot+10;i++)
for(int j=0;j<=15;j++)
dp[j]=INF;
dp[0][0]=0;
dp[1][1]=a[0];
for(int i=1;i<tot;i++)
{
for(int j=0;j<15;j++)
{
int k=j+1;
if(k==15)  k=10;
dp[i+1][k]=min(dp[j]+a,dp[i+1][k]);
if(j-5>=0)
dp[i+1][j-5]=min(dp[j]+b,dp[i+1][j-5]);
}
}
/*
for(int i=0;i<15;i++)
cout<<dp[tot]<<" ";
cout<<endl;
*/
int ans=INF;
for(int i=0;i<15;i++)
ans=min(ans,dp[tot]);
cout<<ans<<endl;
}
return 0;
}

转载于:https://www.cnblogs.com/CKboss/archive/2013/06/11/3351022.html

HDOJ 1494 跑跑卡丁车相关推荐

  1. HDU 1494 跑跑卡丁车 dp

    =###题目描述 跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣.这款游戏的特别之处是你可以通过漂移来获得一种加速卡,用这种加速卡可以在有限的时间里提高你的速度. 为了使 ...

  2. HDU 1494 跑跑卡丁车

    点击打开链接 Problem Description 跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣.这款游戏的特别之处是你可以通过漂移来获得一种 加速卡,用这种加速卡可 ...

  3. hdu 1494 跑跑卡丁车~

    哈哈  一次性ac哦!! 猥琐的气息无处不在~~~~ #include<iostream> using namespace std; const int inf=0x7fffffff; i ...

  4. 杭电OJ分类题目(3)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(3) HDU Computational Ge ...

  5. 『杭电1494』跑跑卡丁车

    Problem Description 跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣.这款游戏的特别之处是你可以通过漂移来获得一种 加速卡,用这种加速卡可以在有限的时间 ...

  6. HDOJ ACM 题目

    转载 HDOJ 题目分类(转) 1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 H ...

  7. 并查集 HDOJ 1232 畅通工程

    题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...

  8. 【HDOJ 3652】B-number

    [HDOJ 3652]B-number 给一整数n 找<=n的整数中能被13整除且含有13的 数位dp 记忆化! . 一入记忆化深似海. ..再也不想用递推了...发现真的非常好想 仅仅要保证满 ...

  9. 【HDOJ】4343 Interval query

    最大不相交集合的数量. 思路是dp[i][j]表示已经有i个不相交集合下一个不相交集合的最右边界. 离散化后,通过贪心解. 1 /* 4343 */ 2 #include <iostream&g ...

最新文章

  1. 玩转Regsvr32命令
  2. 《AngularJS实战》——3.1 模板中的过滤器
  3. c语言航班订票管理系统源代码,简易C语言航空订票系统
  4. NKStartup的参数KData
  5. 在echarts3中使用字符云
  6. 02.elasticsearch_read_write模型基础
  7. Java 8 特性 – 终极手册
  8. 剑指offer之正则表达式匹配
  9. (转)机会还是陷阱:诺亚财富的私募股权策略
  10. butterworth matlab,Matlab实现Butterworth滤波器
  11. amend用法 git 信息_详解git commit --amend 用法
  12. np.ones用法总结
  13. 如何计算ROI(一)
  14. Excel 常用技巧目录
  15. jQuery(JavaScript类库)
  16. 苹果M1电脑上还能运行Windows吗?苹果:留了路,看微软
  17. 连环锁 POJ - 1832(格雷码与二进制)
  18. 计算机基础知识八股文(网络篇)
  19. Win32中设置窗体失去焦点,并重新获取焦点
  20. 【密码学】C 语言实现 RSA 模幂运算

热门文章

  1. Andorid Scrolling Activity(CoordinatorLayout详情)
  2. 我的Android进阶之旅------Android利用温度传感器实现带动画效果的电子温度计
  3. PHP函数库06:PHP统计字符串里单词出现次数
  4. 开始→运行→输入的命令集锦( 菜鸟必读)
  5. python面试题总结(5)--数据类型(字典)
  6. 华为服务器ibmc怎么装系统,华为服务器安装操作系统
  7. python处理ini文件_python对ini配置文件处理
  8. SparkSQL-从0到1认识Catalyst
  9. 嵌入式常见笔试题总结(4)
  10. C++里的花括号{},块,作用域