题目链接

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

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

 #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. js的offsetWidth,offsetHeight,offsetLeft,offsetTop

    js的offsetWidth,offsetHeight,offsetLeft,offsetTop

  2. list转datatable

    /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...

  3. [转]论acm与泡妞

    abstract :本文从各个方面讨论了泡妞与做题之间的相似之处与不同点,尽量的站在一个公平的角度阐述这一问题,所得的研究成果填补了国内外的理论空白. - 泡了一个好妞就好像做了一道难题一样快感都是相 ...

  4. yii2权限控制rbac之菜单menu最详细教程

    前面我们在博文 yii2搭建完美后台并实现rbac权限控制实例教程中完美实现了yii2的后台搭建和rbac权限控制,如果你还没有实现,请先看上文再回来参考本文,因为本文是在上文的基础上进行完善和补充. ...

  5. C#高级特性_Attribute

    Attribute: 公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.Attributes和Microsoft .NET ...

  6. less sass学习总结(——待续哦——)

    一:less.sass是为了解决什么?  为什么要让css以编程语言来书写呢?

  7. linux 配置 crontab

    linux中的crontab是定时用的,下面的cron服务就是定时器的意思 crontab -l 列举所有的cron服务 crontab -e 修改cron服务 crontab -r 删除cron服务 ...

  8. Java--剑指offer(1)

    1.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. a)        常规程序 ...

  9. Retrofit2 + OkHttp3设置Http请求头(Headers)方法汇总

    在构建网络层时会遇到一个问题就是要手动配置Http请求的Headers,写入缓存Cookie,自定义的User-Agent等参数,但是对于有几十个接口的网络层,我才不想用注解配置Headers,目前网 ...

  10. 解决Eclipse项目图标上的红色感叹号,红叉

    从外部导入了几个jar包发现工程上出现红叉,但展开又没有详细的指明任何错误,可能过如下几步: 1.检查Build Path中的各个依赖jar及library是否有warning的标志,若有,处理之:  ...