P2339 提交作业usaco

题目背景

usaco

题目描述

贝西在哞哞大学选修了 C 门课,她要把所有作业分别交给每门课的老师,然后去车站和同学们一起回家。每个老师在各自的办公室里,办公室要等他们下课后才开,第 i 门课的办公室将在 Ti 分钟后开放。

所有的办公室都在一条笔直的走廊上,这条走廊长 H 个单位,一开始贝西在走廊的尽头一侧,位于坐标为 0 的地方。第 i 门课的办公室坐标位于坐标为 Xi 的地方,车站的坐标为 B。贝西可在走廊上自由行走,每分钟可以向右或者向左移动一个单位,也可以选择停着不移动。如果走到一间已经开门的办公室,贝西就可以把相应的作业交掉了,走进办公室交作业是不计时间的。请帮助贝西计算一下,从她开始交作业开始,直到到交完所有作业,再走到车站,最短需要多少时间时间。

输入输出格式

输入格式:

输入格式

• 第一行:三个整数 C, H 和 B, 1 ≤ C ≤ 1000 , 1 ≤ H ≤ 1000 , 0 ≤ B ≤ H

• 第二行到 C + 1 行:第 i + 1 行有两个整数 Xi 和 Ti, 0 ≤ Xi ≤ H , 0 ≤ Ti ≤ 10000

输出格式:

输出格式

• 单个整数,表示贝西交完作业后走到车站的最短时间

输入输出样例

输入样例#1: 复制

4 10 3
8 9
4 21
3 16
8 12
输出样例#1: 复制

22

说明

走到坐标 8 处,第 9 分钟交一本作业,等到第 12 分钟时,交另一本作业。再走到坐标 4 处交作业,最后走到坐标 3 处,交最后一本作业,此地就是车站所在位置,共用时 22 分钟

/*
直接想dp不好设状态,那就看看有什么性质......
容易想到把教室排序,如果一段区间[l,r]
先选外侧的教室交作业一定比先选里面的再出来再去另一边更优
那么答案就可以从外往里递推而来
再就是这种也可以向左也可以向右的题目一般来说都是转化为区间dp
f[l][r][0/1]表示决策到[l,r]这段区间,区间外的都已满足,选则l/r交作业的最短时间
转移看从那个教室移动过来即可。
*/
#include<bits/stdc++.h> #define N 1007 using namespace std;
int n,m,ans,cnt;
int f[N][N][];
struct node{
int Time,pos;
bool operator < (const node &a) const{
return pos<a.pos;
} }a[N]; inline int read()
{
int x=,f=;char c=getchar();
while(c>''||c<''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} int main()
{
int C,H,B;
C=read();H=read();B=read();
for(int i=;i<=C;i++)
a[i].pos=read(),a[i].Time=read();
sort(a+,a+C+);
memset(f,/,sizeof f);
f[][C][]=max(a[].Time,a[].pos);
f[][C][]=max(a[C].Time,a[C].pos); for(int L=C-;L>=;L--) for(int i=;i+L<=C;++i)
{
int j=i+L;
f[i][j][]=min(max(f[i-][j][]+a[i].pos-a[i-].pos,a[i].Time),
max(f[i][j+][]+ a[j+].pos-a[i].pos,a[i].Time));
f[i][j][]=min(max(f[i-][j][]+a[j].pos - a[i-].pos,a[j].Time),
max(f[i][j+][]+ a[j+].pos-a[j].pos,a[j].Time));
}
ans=0x3f3f3f3f;
for (int i=;i<=C;i++)
ans=min(ans,f[i][i][]+abs(a[i].pos-B));
printf("%d\n",ans);
return ;
}

P2339 提交作业usaco(区间dp)的更多相关文章

  1. USACO2004 Open提交作业(区间DP)

    Description 贝西在哞哞大学选修了C门课,她要把这些课的作业交给老师,然后去车站和同学们一 起回家.老师们在办公室里,办公室要等他们下课后才开,第i门课的办公室在Ti时刻后开放. 所有的办公 ...

  2. [BZOJ 1652][USACO 06FEB]Treats for the Cows 题解(区间DP)

    [BZOJ 1652][USACO 06FEB]Treats for the Cows Description FJ has purchased N (1 <= N <= 2000) yu ...

  3. 【BZOJ3379】【USACO2004】交作业 区间DP

    题目描述 数轴上有\(n\)个点,你要从位置\(0\)去位置\(B\),你每秒钟可以移动\(1\)单位.还有\(m\)个限制,每个限制\((x,y)\)表示你要在第\(t\)秒之后(可以是第\(t\) ...

  4. 【bzoj3379】[Usaco2004 Open]Turning in Homework 交作业 区间dp

    题目描述 数轴上有C个点,每个点有一个坐标和一个访问时间,必须在这个时间后到达这个点才算访问完成.可以在某个位置停留.每在数轴上走一个单位长度消耗一个单位的时间,问:访问所有点并最终到B花费的最小时间 ...

  5. USACO Training3.3 A Game【区间Dp】 By cellur925

    题目传送门 一股浓浓的博弈论香气...然而本蒟并不会博弈论. 开始用双端队列+假的dp水过了24pts水数据. 其实是布星的,两人都绝顶聪明会深谋远虑不像我只看眼前,所以上述算法错误. 正解:区间dp ...

  6. poj 3186 Treats for the Cows(区间dp)

    Description FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for gi ...

  7. 第四届河南省ACM 节能 区间DP

    1001: 节 能 时间限制: 1 Sec  内存限制: 128 MB 提交: 21  解决: 9 [提交][状态][讨论版] 题目描述 Dr.Kong设计的机器人卡多越来越聪明.最近市政公司交给卡多 ...

  8. 浅谈区间DP的解题时常见思路

    一.区间DP解题时常见思路 如果题目中答案满足: 大的区间的答案可以由小的区间答案组合或加减得到 大的范围可以由小的范围代表 数据范围较小 我们这时可以考虑采用区间DP来解决. 那么常见的解法有两种: ...

  9. 山区建小学(区间DP)

    山区建小学 时间限制: 1 Sec  内存限制: 128 MB提交: 17  解决: 5[提交][状态][讨论版][命题人:quanxing] 题目描述 政府在某山区修建了一条道路,恰好穿越总共m个村 ...

随机推荐

  1. hihoCoder#1051 补提交卡

    原题地址 简单贪心 首先,补提交卡应该连续使用,其次,补提交卡应该全部用掉(如果补提交卡多于未提交天数则额外处理) 所以,依次遍历未提交日期,计算:从当前位置开始,用M张补提交卡覆盖后面连续M个数字, ...

  2. noip模拟赛 少女

    分析:每个连通块都是独立的,对一个连通块进行分析.如果边数>点数,显然是不可能的,因为每条边要分配给一个点,至少有一个点分配了两次以上.如果边数=点数,就形成了环,有两种方案,顺时针一个环,逆时 ...

  3. Spring boot data JPA数据库映射关系 : @OneToOne,@OneToMany,@ManyToMany

    问题描述 在利用Spring boot data JPA进行表设计的时候,表对象之间经常存在各种映射关系,如何正确将理解的映射关系转化为代码中的映射关系是关键之处. 解决办法 概念理解 举例:在公司的 ...

  4. 好用的window命令

    Nslookup-------IP地址侦测器 chkdsk-----Chkdsk磁盘检查 regedt32-------注册表编辑器 regedit----注册表 perfmon----计算机性能监测 ...

  5. codevs3285 转圈游戏

    题目描述 Description n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 ...

  6. 解决json_encode中文乱码

    在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来

  7. 【SQL Server 学习系列】-- 清除SQL Server 2012连接过的服务器名称

    需要删除两个地方,删除前请注意备份! 1.  %AppData%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin 2.  %A ...

  8. 关于Java函数不支持参数默认值的讨论,最后一条亮了 2333

  9. Sound Card Chip

      DELL sigmatel stac   Hewlett-packard conexant High Definition Audio chip   lenovo(IBM) Analo Devic ...

  10. 表面看是营销书,事实上是励志书——Leo鉴书77

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvam9iY2hhbmNlbGVv/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...