ZJNU 1130 - 龟兔赛跑——中高级
只需求出乌龟最短耗时跟兔子耗时比即可
将起点 0 和终点 N+1 也看做充电站,进行动态规划
对第i个点进行动态规划,则可以得到状态转移方程为
dp[i] = max{dp[j]+time[i][j]} j∈[0,i]
time[i][j]=max(不充电从i到j耗时 , 在i充满电后再到j耗时)
最后将dp[N+1]与兔子耗时对比
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int L,N,C,T,VR,VT1,VT2,p[],i,j,dis;
double time,dp[];
while(cin>>L>>N>>C>>T>>VR>>VT1>>VT2){
for(i=;i<=N;i++)
cin>>p[i];
p[]=;
p[N+]=L;
fill(dp,dp+,1e9);
dp[]=0.0;
for(i=;i<=N+;i++)
for(j=;j<i;j++){
time=T;
dis=p[i]-p[j];
if(!j)
time=0.0;
if(dis<=C)
time+=1.0*dis/VT1;
else
time+=1.0*C/VT1+1.0*(dis-C)/VT2;
dp[i]=min(dp[i],dp[j]+min(time,1.0*dis/VT2));
}
if(dp[N+]<1.0*L/VR)
cout<<"What a pity rabbit!\n";
else
cout<<"Good job,rabbit!\n";
} return ;
}
ZJNU 1130 - 龟兔赛跑——中高级的更多相关文章
- ZJNU 1310 - 排队——中高级
蒟蒻做法:追踪1号队员,取他回到原来位置需要的次数 /* Written By StelaYuri */ #include<stdio.h> int main(){ int T,t,n,a ...
- ZJNU 1262 - 电灯泡——中高级
在影子没有到达墙角前,人越远离电灯,影子越长,所以这一部分无需考虑 所以只需要考虑墙上影子和地上影子同时存在的情况 因为在某一状态存在着最值 所以如果以影子总长与人的位置绘制y-x图像 会呈一个类似y ...
- ZJNU 1542 - 三角形(续)--中高级
从小到大排序后 先固定一遍,另外两边递增查找 即固定 i,j=i+1,k=j+1 然后让k递增到 a[i]+a[j]<=a[k] 时 此时不能凑成一个三角形 答案增加 k-1-j 组 此时不需要 ...
- ZJNU 1535 - 新建的大楼--中高级
因为从俯视图看,输入输出的视角是从右下方看向左上方的 所以左上角的正方体最有可能被其他正方体挡住 立体上,底部的正方体最有可能被顶部的正方体挡住 所以绘图应该从后往前,从下往上绘制 剩下的就是一大堆计 ...
- 通过Navicat for MySQL远程连接的时候报错mysql 1130
1130 重装数据库 解决这个问题
- 远程连接mysql报错【1130 -host 'localhost' is not allowed to connect to this mysql server】
远程连接mysql时包如下错误: 1130 -host 'localhost' is not allowed to connect to this mysql server 解决办法 本地用root账 ...
- hdu 3047–Zjnu Stadium(带权并查集)
题目大意: 有n个人坐在zjnu体育馆里面,然后给出m个他们之间的距离, A B X, 代表B的座位比A多X. 然后求出这m个关系之间有多少个错误,所谓错误就是当前这个关系与之前的有冲突. 分析: 首 ...
- ERROR 1130 (HY000):Host'localhost'解决方法
http://www.2cto.com/database/201211/169504.html ERROR 1130 (HY000):Host'localhost'解决方法 ERROR 1130 ...
- SQL Error (1130): Host '192.168.1.126' is not allowed to connect to this MySQL server
通过HeidiSQL连接MYSQL数据库报错: SQL Error (1130): Host '192.168.1.126' is not allowed to connect to this MyS ...
随机推荐
- swift中利用系统线程实现异步加载数据同步更新UI
swift中的使用案例样式 // Mark: -数据源更新 typealias AddDataBlock = () ->Void var updataBlock:AddDataBlock? fu ...
- 2020年9大顶级Java框架
诞生于1995年的Java,目前已在134,861个网站上广泛使用,包括ESPN.SnapDeal等.在其24年的成长史中,Java已经证明了自己是用于自定义软件开发的顶级通用编程语言. Java广泛 ...
- faster rcnn报错:TypeError: slice indices must be integers or None or have an __index__ method
https://blog.csdn.net/qq_27637315/article/details/78849756 https://blog.csdn.net/qq_21089969/article ...
- class选择器,外部样式表,选择器优先级
class选择器: 先在相应标签中设置一个class属性,如class=“class名”.class名{ ……css样式}注:class名以英文字母开头,可以多个标签重复使用.优先级:标签名选择器 & ...
- SpingBoot项目搭建(详细)
SpingBoot (原创:黑小子-余) springboot官网:->点击<- spring官网:->点击<- 一.SpringBoot简介 Spring Boot是由Piv ...
- Python中的常用内置对象之map对象
如果你了解云计算的最重要的计算框架Mapreduce,你就对Python提供的map和reduce对象有很好的理解,在大数据面前,单机计算愈加力不从心,分布式计算也就是后来的云计算的框架担当大任,它提 ...
- MyBatis 关联查询的实现:多对多
2个实体:订单.商品,一个订单可以包含多种商品,同时一种商品可以属于多个订单,即多对多. 商品表goods_tb: 订单表order_tb: no是订单编号,user_id与用户表的id关联. 需要新 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL LIKE 子句
在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以使用等号 = 来设定获取数据的条件, ...
- Spark核心算子
Spark RDD: Transformation Meaning map(func) 返回一个新的分布式数据集,该数据集是通过将源的每个元素传递给函数func处理形成的. filter(func) ...
- JavaScript—暂告,小节
Javastript 的学习告一段落了.虽然还有更多的:爬虫 什么的 但是和我在学校的相比 要扎实许多.知道了兼容性 面向对象,闭包.....一些细节的用法. 虽然以后可能很少用到.可是我觉得 ...