博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu2059 dp
阅读量:5217 次
发布时间:2019-06-14

本文共 1019 字,大约阅读时间需要 3 分钟。

哎,这题我能说想到增加起始和终结点的嘛,一直在想dp[i]和dp[i-1]的关系,然后c就很难处理...

dp[i] = dp[j]+f(i,j)

可以说很水嘛,要哭了

//dp[i] = dp[j]+t(i,j) t(i,j)为i到j的时间//增加其实和终结点(技巧)#include 
#include
#include
#include
#include
#include
#include
#include
#include
const int inf = (1<<31)-1;const int MAXN = 102;using namespace std;int a[MAXN];double dp[MAXN];bool cmp(double a,double b){ if(a-b>0)return true; else return false;}int main(){ int l,n,c,t; int vr,vt1,vt2; while(~scanf("%d",&l)){ scanf("%d%d%d",&n,&c,&t); scanf("%d%d%d",&vr,&vt1,&vt2); for(int i=1;i<=n;i++) scanf("%d",&a[i]); a[0] = 0; a[n+1] = l; double ts; for(int i=1;i<=n+1;i++){ dp[i] = inf; for(int j=i-1;j>=0;j--){ if(c>a[i]-a[j])ts = (a[i]-a[j])*1./vt1; else ts = c*1./vt1+(a[i]-a[j]-c)*1./vt2; if(j!=0)ts += t; dp[i] = min(dp[i],ts+dp[j]); } } if(cmp(dp[n+1],l*1./vr)) cout<<"Good job,rabbit!"<
View Code

 

转载于:https://www.cnblogs.com/EdsonLin/p/5384997.html

你可能感兴趣的文章
JQuery 学习
查看>>
session token两种登陆方式
查看>>
C# ArrayList
查看>>
IntelliJ IDEA 12集成Tomcat 运行Web项目
查看>>
java,多线程实现
查看>>
个人作业4-alpha阶段个人总结
查看>>
android smack MultiUserChat.getHostedRooms( NullPointerException)
查看>>
递归-下楼梯
查看>>
实用的VMware虚拟机使用技巧十一例
查看>>
监控工具之---Prometheus 安装详解(三)
查看>>
Azure Iaas基础之---创建虚拟机
查看>>
不错的MVC文章
查看>>
网络管理相关函数
查看>>
IOS Google语音识别更新啦!!!
查看>>
20190422 T-SQL 触发器
查看>>
[置顶] Linux终端中使用上一命令减少键盘输入
查看>>
poj1422_有向图最小路径覆盖数
查看>>
BootScrap
查看>>
[大牛翻译系列]Hadoop(16)MapReduce 性能调优:优化数据序列化
查看>>
WEB_点击一百万次
查看>>