hdu2059 dp
哎,这题我能说想到增加起始和终结点的嘛,一直在想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 <iostream> #include <cstdio> #include <cmath> #include <cstdlib> #include <cstring> #include <string> #include <stack> #include <queue> #include <algorithm> 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!"<<endl; else cout<<"What a pity rabbit!"<<endl; } return 0; }
在一个谎言的国度,沉默就是英雄
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法