Description

滑雪比赛bobsled

贝西参加了一场高山急速滑雪比赛,滑道总长度为 L。出发时,她的初速度为 1,贝西可以加速 或减速,每过 1 米,她能将速度增加 1、减少 1 或保持不变。在滑雪的过程中,贝西会遇到 N 个转 弯点,编号为 i 的转弯点距离起点有 Ti 米。安全起见,贝西到达 i 号转弯点时的速度不能超过 Si。 穿过终点的速度是没有限制的。请问在整个比赛过程中,贝西能够达到的最大速度是多少?

Input Format

第一行:两个整数 L 和 N,2 ≤ L ≤ 10^9; 1 ≤ N ≤ 10^5

第二行到第 N + 1 行:第 i + 1 行有两个整数 T 和 S ,1 ≤ T < L; 1 ≤ S ≤ 10^9

Output Format

单个整数:表示贝西在比赛过程中能够达到的最大速度

Sample Input

14 3
7 3
11 1
13 8

Sample Output

5

Hint

第一次达到最高速度的位置在距离起点 4 米 处

Source

Bobsledding, 2009 Dec
一道需要预处理的dp
很明显 要以每个转弯点为状态 f[i]表示到第i个拐弯点的速度max;
由于可以任意加减或保持速度 那么易得到达i点速度小于f[i]的状态是一定能到达的;所以只要记录max
且我们不能只考虑是否能转移到当前状态;因为后面拐弯点的最小速度也可能
影响到当前状态;
一个例子
20 3
3 3
13 20
15 7
只考虑
当前与之前的状态的话 在第二个拐弯点速度能达到 13;
而正确答案是 11;因为若f[2]=13 那么就不能转移到f[3]的状态;
那么我们只要从后往前预处理 s[i]=min(s[i],s[i+1]+t[i+1]-t[i]);
那么就满足无后效性质了;
进行dp f[i]=min(f[i-1]+t[i]-t[i-1],s[i]);
然后打擂台 maxn=max(maxn,(f[i]+f[i-1]+t[i]-t[i-1])/2);
最后注意要先按t排序
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int n,j,k,l,m,maxx,i;
int f[100010];
struct st
{
int s,t;
}mu[100010];
bool cmp( const st x, const st y)
{
if(x.t<y.t)return true;
return false;
}
int main()
{
// freopen("xx.in","r",stdin);
scanf("%d%d",&l,&n);
for(i=1;i<=n;++i)
scanf("%d%d",&mu[i].t,&mu[i].s);
sort(mu+1,mu+1+n,cmp);
f[0]=1;mu[n+1].s=1e9;mu[n+1].t=l;
for(i=n;i>=1;--i)
mu[i].s=min(mu[i].s,mu[i+1].s+mu[i+1].t-mu[i].t);
for(i=1;i<=n+1;++i)
{
f[i]=min(mu[i].s,f[i-1]+mu[i].t-mu[i-1].t);
maxx=max((mu[i].t-mu[i-1].t+f[i]+f[i-1])/2,maxx);
}
printf("%d",maxx);
}

  

Usaco 滑雪比赛 Bobsledding, 2009 Dec(dp)的更多相关文章

  1. NC24866 [USACO 2009 Dec S]Music Notes

    NC24866 [USACO 2009 Dec S]Music Notes 题目 题目描述 FJ is going to teach his cows how to play a song. The ...

  2. BZOJ1775[USACO 2009 Dec Gold 3.Video Game Troubles]——DP

    题目描述 输入 * 第1行: 两个由空格隔开的整数: N和V * 第2到第N+1行: 第i+1行表示第i种游戏平台的价格和可以在这种游戏平台上面运行的游 戏.包含: P_i, G_i还有G_i对由空格 ...

  3. USACO 2009 Dec cow toll paths 过路费-floyd

    这道题首先要明确一点,那就是当你从一个点走到自己时,也是需要花费这个点点权值的费用.这个点卡了我两次QWQ 然后我比较喜欢分两步搞: 首先,我们利用floyd的一个性质:就是在更新其他点之间的路线时要 ...

  4. BZOJ1774[USACO 2009 Dec Gold 2.Cow Toll Paths]——floyd

    题目描述 跟所有人一样,农夫约翰以着宁教我负天下牛,休叫天下牛负我的伟大精神,日日夜夜苦思生 财之道.为了发财,他设置了一系列的规章制度,使得任何一只奶牛在农场中的道路行走,都 要向农夫约翰上交过路费 ...

  5. usaco 过路费 Cow Toll Paths, 2009 Dec

    Description 翰家有 N 片草地,编号为 1 到 N ,彼此之间由 M 条双向道路连接,第 i 条道路连接了 Ai 和Bi,两片草地之间可能有多条道路,但没有道路会连接同一片草地,现有的道路 ...

  6. 【USACO 2.2】Subset Sums (DP)

    N (1 <= N <= 39),问有多少种把1到N划分为两个集合的方法使得两个集合的和相等. 如果总和为奇数,那么就是0种划分方案.否则用dp做. dp[i][j]表示前 i 个数划分到 ...

  7. USACO Section 5.3 Big Barn(dp)

    USACO前面好像有类似的题目..dp(i,j)=min(dp(i+1,j),dp(i+1,j+1),dp(i,j+1))+1  (坐标(i,j)处无tree;有tree自然dp(i,j)=0) .d ...

  8. USACO 2014 US Open Odometer /// 数位DP

    题目大意: 给定区间 l r 求得区间中有多少个数 数的各个数位里出现最多次的数>=数的长度的一半 如2233 3334 枚举k在数中出现次数在一半以上 那么求出的所有方案数中应该减去 两个数各 ...

  9. 【USACO 3.2】Stringsobits (dp)

    题意:求第k大的最多有l个1的n位二进制. 题解:dp[i][j]表示长度为i最多有j个1的二进制有多少种,则有: 状态转移:dp[i][j]=dp[i-1][j]+dp[i-1][j-1],即第i位 ...

随机推荐

  1. 计算机二级考试Access教程

    本教程对编程语言各种要点进行详细的讲解介绍,从基础知识到实用技术功能,内容涵盖了从数组,类等基本概念到多态.模板等高级概念.教程本着实用的原则,每一小节都结合了可以笔试.面试的常见程序实例,以便从第一 ...

  2. Windows上部署Python

    以Python 3.5为例 1.到https://www.python.org/downloads/windows/下载embeddable zip file类型的压缩包python-3.5.1-em ...

  3. 科学存储数据格式-HDF5

    HDF数据格式 Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库.大多数普通计算机都支 ...

  4. 如何像Uber一样给工程师派单 解放外包落后的生产力

    2014年,陈柯好的第一个创业项目失败,半年之内,陈柯好以技术合伙人的方式游走于旅游.电商.团购.票务等各种领域.正当他对职业方向感到迷茫时,“大众创业.万众创新”的口号被提了出来 一时间,技术需求被 ...

  5. Centos7 单节点安装 FastDFS + FastDHT服务

    Centos7 单节点安装 FastDFS + FastDHT服务 1.安装gcc(编译时需要) FastDFS是C语言开发,安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果 ...

  6. JS 用+1、-1填12()34()56()78()9=59

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Python笔记16-------类

    1.类的定义 (1)#括号中要加入父类,如果没有则默认为object,万类之源 class 类名(父类): '类的文档字符串' 类体代码 若类什么都不做,则类只作为命名空间,仅作为一个容器. (2)类 ...

  8. Performance Co-Pilot

    Install Performance Co-Pilot 提前安装依赖 [root@iZrj97j6t7ih9hgz1me35hZ ~]# cat install.sh yum install -y ...

  9. 通过js 实现 向页面插入js代码并生效,和页面postMessage通讯

       此文章针对已经搭建好jenkins和会使用iconfont图标库而写. 主要目标就是在不通过更改html文件,完成页面交互图标信息,因为美工最多可以上传代码并且自动发布,并不会在Html中加入我 ...

  10. nyoj314-斐波那契数列四吧

    斐波那契数列四吧 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 斐波那契数列为:0,1,1,2,3,5,8,13....,常规递推公式为f(n)=f(n-1)+f(n- ...