题目链接

直接拿来当贪心做了=_=,然后就懵逼了

动态规划,本弱真没想到=_=

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const double eps = 0.000001;
const int INF = 0xffffff;
int station[];
double dp[];
int l, n, c, t, vr, vt1, vt2;
double get_time(int s, int tempc)
{
double gtime = ;
if(s > tempc)
{
gtime += 1.0 * tempc / vt1;
gtime += (s - tempc) * 1.0 / vt2;
}
else
{
gtime += s * 1.0 / vt1;
}
return gtime;
}
int is_chong(int s, int tempc)
{
double chong_time = t + get_time(s, c);
double not_chong_time = get_time(s, tempc);
if(not_chong_time - chong_time > eps)
return ;
return ;
}
double get_min(double x, double y)
{
if(x - y > eps)
return y;
return x;
}
int main()
{
while(scanf("%d", &l) != EOF)
{
scanf("%d%d%d", &n, &c, &t);
scanf("%d%d%d", &vr, &vt1, &vt2);
for(int i = ; i <= n; i++)
scanf("%d", &station[i]);
station[n + ] = l;
double rtime = 1.0 * l / vr;
station[] = ;
dp[] = ;
for(int i = ; i <= n + ; i++)
{
dp[i] = INF;
for(int j = i - ; j >= ; j--)
{
double tempTime = ;
int s = station[i] - station[j];
if(s > c)
{
tempTime = 1.0 * c / vt1;
tempTime += (s - c) * 1.0 / vt2;
}
else
tempTime = s * 1.0 / vt1;
if(j)
tempTime += t;
dp[i] = get_min(dp[i], dp[j] + tempTime);
}
/*
int s = station[i] - station[i - 1];
if(s > tempc)
{
gtime += 1.0 * tempc / vt1;
gtime += (s - tempc) * 1.0 / vt2;
tempc = 0;
}
else
{
gtime += s * 1.0 / vt1; // 不知道什么时候手贱,这里把s写成了c,浪费了半个小时
tempc = tempc - s;
}
if(is_chong(station[i + 1] - station[i], tempc))
{
gtime += t;
tempc = c;
}
*/
}
//gtime += get_time(l - station[n], tempc);
if(dp[n + ] - rtime > eps)
printf("Good job,rabbit!\n");
else
printf("What a pity rabbit!\n");
}
return ;
}

HD2059龟兔赛跑(DP)的更多相关文章

  1. 龟兔赛跑(DP)

    龟兔赛跑 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  2. hdoj 2059 :龟兔赛跑 (DP)[转]

      转的别人的找了很多就这个比较好理解.   Problem Description 据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州下 ...

  3. hdu2059 龟兔赛跑 DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2059 虽然 知道是DP ,刚开始一直没有想出状态转移方程. 刚开始的思路就是定义dp[i]表示到达第i ...

  4. HDU 2056 龟兔赛跑 (DP)

    题意:见题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2059 解题报告:以前一直没看出来这题是个DP题,知道是DP题就简单了 .首先要把起点和终点看成 ...

  5. hdu 2059 龟兔赛跑 (dp)

    /* 把起点和终点比作加油站,那总共同拥有n+2个加油站了, 每次都求出从第0个到第j个加油站(j<i)分别在加满油的情况下到第i个加油站的最短时间dp[i], 终于的dp[n+1]就是最优解了 ...

  6. 8-11-Exercise

    链接:第四次小练 A.POJ 3094   Quicksum 水题中的水题啊~ 直接上代码: #include <iostream> #include <cstdio> #in ...

  7. 【巧妙消维DP】【HDU2059】龟兔赛跑

    龟兔赛跑 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. hdu 2059 龟兔赛跑(dp)

    龟兔赛跑 Problem Description 据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州下沙某农业园卧薪尝胆潜心修炼,终于练成 ...

  9. HDU 2059 龟兔赛跑(超级经典的线性DP,找合适的j,使得每个i的状态都是最好的)

    龟兔赛跑 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

随机推荐

  1. HTML5+JS 《五子飞》游戏实现(八)人机对战

    要想实现人机对战,就必须让电脑自动下棋,而且要知道自动去查找对方的棋子,看看有没有可以挑一对的,有没有可以夹一个的,这样下起来才有意思. 当电脑用户下完棋后,电脑应立即搜索用户的棋子,然后如果没有被吃 ...

  2. We Know What @You #Tag: Does the Dual Role Affect Hashtag Adoption-20160520

    分析类的论文 1.Information publication:www2012 author: Mei qiao zhu 2.What 微博中的hashtag既可以表示谈论的内容,又可以代表一个群体 ...

  3. 如何设置div高度为100%

    div高度通常都是固定值,直接将div高度设为100%是无效的,那么如何设置才能有效呢? 直接给div设置height:100%即可,无效的原因一定是父元素的高度为0,最常见的就是给body的直接元素 ...

  4. SharedPreferences保存数据

    1.使用SharedPreferences保存数据方法如下: //实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences= ...

  5. 在Ubuntu 14.04安装Nginx

    ###介绍 Nginx是世界上最流行的网络服务器中的一种,负责托管网络上一些流量最高的网站.在多数情况下,Nginx比Apache在资源上更加友好,可以作为网络服务器或反向代理服务器. 这篇教程中,我 ...

  6. 利用MVC的自定义过滤器FilterAttribute、IActionFilter、IExceptionFilter实现异常处理等功能

    今天在博客园上看了一篇推荐文章,还说得蛮有道理: http://www.cnblogs.com/richieyang/p/4779028.html 项目中确实有各种后台验证过程,最常见的莫过于判空,而 ...

  7. 【HDU 4614】Vases and Flowers(线段树区间更新懒惰标记)

    题目0到n-1的花瓶,操作1在下标a开始插b朵花,输出始末下标.操作2清空[a,b]的花瓶,求清除的花的数量.线段树懒惰标记来更新区间.操作1,先查询0到a-1有num个空瓶子,然后用线段树的性质,或 ...

  8. 实在没想到系列——HashMap实现底层细节之keySet,values,entrySet的一个底层实现细节

    我在看HashMap源码的时候发现了一个没思考过的问题,在这之前可以说是完全没有思考过这个问题,在一开始对这个点有疑问的时候也没有想到居然有这么个语法细节存在,弄得我百思不得其解,直到自己动手做实验改 ...

  9. 简进祥--iOS开发基础知识

    1:App跳转至系统Settings 跳转在IOS8以上跟以下是有区别的,如果是IOS8以上可以如下设置: NSURL *url = [NSURL URLWithString:UIApplicatio ...

  10. Android面试总结 (转)

    1. 下列哪些语句关于内存回收的说明是正确的? (b) A. 程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D. 内存回收程序可以在指 ...