火车安排问题(dp好题)

火车站内往往设有一些主干线分叉出去的铁路支路,供火车停靠,以便上下客或装载货物。铁路 支路有一定长度;火车也有一定的长度,且每列火车的长度相等。 假设某东西向的铁路上,有一小站。该站只有一条铁路支路可供火车停靠,并且该铁路支路最多 能容纳 M 辆火车。为了火车行驶的通畅,该站只允许火车自东方进站,自西方出站,且先进站的火车 必须先出站,否则,站内火车将发生堵塞。 该火车站工作任务繁忙。每天都有 N 辆自东方驶向西方的火车要求在预定时刻进站,并在站内作 一定时间的停靠。为了满足每辆进站火车的要求,小站的调度工作是井井有条地开展。在小站每天的 工作开始前,小站工作人员须阅读所有火车的进站申请,并决定究竞接受哪些火车的申请。而对于不能 满足要求的火车,小站必须提前通知它们,请它们改变行车路线,以免影响正常的铁路运输工作。由
于火车进站、出站的用时可以忽略不计,小站允许几辆火车同时进站或出站,且小站工作人员可以任意安排这些火车进站的先后排列次序。小站的工作原则是尽量地满足申请火车的要求。 请你编一个程序,帮助工作人员考察某天所有火车的进站申请,计算最多能满足多少火车的要求。 N<=100,M<=3;

这题一开始想到贪心,按出站时间排序,能进的就进,但是事实证明这个只适用于m=1的情况,因为m大于1的时候 很难判断能否进站。

正解是分3次dp。讲一下m=1和2的情况,m=3类推即可。

先按进站时间为第一关键字,出站时间为第二关键字排序。

m=1时,F[i]表示第i辆车最后出站的情况下能满足多少火车的申请。初始F[i]=1;F[i]=max{F[j]+1}(j<i且i进站前j已经出站);

m=2时,F[i][j]表示第i辆车倒数第二个出站,第j辆车倒数第一个出站的情况下最多能满足火车的申请。 初始F[i][j]=2;F[i][j]=max{F[k][i]+1}(出站顺序k<i<j,并且j进站之前k已经出站);

火车安排问题(dp好题),布布扣,bubuko.com

时间: 2024-10-25 16:02:21

火车安排问题(dp好题)的相关文章

警卫安排(dp好题)

警卫安排(guard)[题目描述]一个重要的基地被分为 n 个连通的区域.出于某种神秘的原因,这些区域以一个区域为核心,呈一颗树形分布.在每个区域安排警卫所需要的费用是不同的,而每个区域的警卫都可以望见其相邻的区域,只要一个区域被一个警卫望见或者是安排有警卫,这个区域就是安全的.你的任务是:在确保所有区域都是安全的情况下,找到安排警卫的最小费用.[输入格式]第一行 n,表示树中结点的数目.接下来的 n 行描述了n 个区域的信息,每一行包含的整数依次为:区域的标号i(0<i<=n),在区域i 安

快餐问题(dp好题)

Peter最近在R市开了一家快餐店,为了招揽顾客,该快餐店准备推出一种套餐,该套餐由A个 汉堡,B个薯条和C个饮料组成.价格便宜.为了提高产量,Peter从著名的麦当劳公司引进了N条 生产线.所有的生产线都可以生产汉堡,薯条和饮料,由于每条生产线每天所能提供的生产时间是有 限的.不同的,而汉堡,薯条和饮料的单位生产时间又不同.这使得Peter很为难,不知道如何安排 生产才能使一天中生产的套餐产量最大.请你编一程序,计算一天中套餐的最大生产量.为简单起见, 假设汉堡.薯条和饮料的日产量不超过100

hdu 5001 walk 概率dp入门题

Description I used to think I could be anything, but now I know that I couldn't do anything. So I started traveling. The nation looks like a connected bidirectional graph, and I am randomly walking on it. It means when I am at node i, I will travel t

POJ 1155 TELE 背包型树形DP 经典题

由电视台,中转站,和用户的电视组成的体系刚好是一棵树 n个节点,编号分别为1~n,1是电视台中心,2~n-m是中转站,n-m+1~n是用户,1为root 现在节点1准备转播一场比赛,已知从一个节点传送数据到达另一个节点,电视台需要一定的费用 若可以传送数据到达用户的节点n-m+1~n,这些用户各自愿意支付一定的费用给电视台 现在电视台希望在不亏本的情况下为尽量多的用户转播比赛 输出最多可以为多少用户转播比赛 背包类型的树形DP第一题 dp[i][j]表示以节点i为根的子树有j个用户获得转播,电视

青蛙的烦恼(dp好题)

有n片荷叶正好在一凸多边形顶点上 有一只小青蛙恰好站在1号荷叶的点 小青蛙可以从一片荷叶上跳到另外任意一片荷叶上 给出N个点的坐标N<800 求小青蛙想通过最短的路程遍历所有的荷叶一次且仅一次的最短路径. 这题如果没有凸多边形的性质,就是裸的TSP问题,数据范围没法做的很大,用dp做也最多做到n=20左右,即使用更高级的退火模拟算法也只能到40左右. 但是这题的点在凸多边形上,因此有下面的性质: 青蛙遍历的路径不会相交. 证明很简单,画个图,利用三角形两边之和大于第三边即可. 结论:青蛙在1号结

POJ 2411 &amp;&amp; HDU 1400 Mondriaan&#39;s Dream (状压dp 经典题)

Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 12341   Accepted: 7204 Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing the drawings in his 'toilet series

URAL 1039 Anniversary Party 树形DP 水题

1039. Anniversary Party Time limit: 0.5 secondMemory limit: 8 MB Background The president of the Ural State University is going to make an 80'th Anniversary party. The university has a hierarchical structure of employees; that is, the supervisor rela

13年山东省赛 The number of steps(概率dp水题)

转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud The number of steps Time Limit: 1 Sec  Memory Limit: 128 M Description Mary stands in a strange maze, the maze looks like a triangle(the first layer have one room,the second layer have two ro

周游加拿大(dp好题)

你赢得了一场航空公司举办的比赛,奖品是一张加拿大环游机票.旅行在这家航空公司开放的最 西边的城市开始,然后一直自西向东旅行,直到你到达最东边的城市,再由东向西返回,直到你回到 开始的城市.每个城市只能访问一次,除了旅行开始的城市之外,这个城市必定要被访问两次(在旅 行的开始和结束) .你不允许使用其他公司的航线或者用其他的交通工具. 给出这个航空公司开放的城市的列表,和两两城市之间的直达航线列表.找出能够访问尽可能多 的城市的路线,这条路线必须满足上述条件,也就是从列表中的第一个城市开始旅行,访