博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P2577 [ZJOI2005]午餐
阅读量:5098 次
发布时间:2019-06-13

本文共 1223 字,大约阅读时间需要 4 分钟。

题目描述

上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂。这里有两个打饭的窗口,每个窗口同一时刻只能给一个人打饭。由于每个人的口味(以及胃口)不同,所以他们要吃的菜各有不同,打饭所要花费的时间是因人而异的。另外每个人吃饭的速度也不尽相同,所以吃饭花费的时间也是可能有所不同的。

THU ACM小组的吃饭计划是这样的:先把所有的人分成两队,并安排好每队中各人的排列顺序,然后一号队伍到一号窗口去排队打饭,二号队伍到二号窗口去排队打饭。每个人打完饭后立刻开始吃,所有人都吃完饭后立刻集合去六教地下室进行下午的训练。

现在给定了每个人的打饭时间和吃饭时间,要求安排一种最佳的分队和排队方案使得所有人都吃完饭的时间尽量早。

假设THU ACM小组在时刻0到达十食堂,而且食堂里面没有其他吃饭的同学(只有打饭的师傅)。每个人必须而且只能被分在一个队伍里。两个窗口是并行操作互不影响的,而且每个人打饭的时间是和窗口无关的,打完饭之后立刻就开始吃饭,中间没有延迟。

现在给定N个人各自的打饭时间和吃饭时间,要求输出最佳方案下所有人吃完饭的时刻。

输入输出格式

输入格式:

第一行一个整数N,代表总共有N个人。

以下N行,每行两个整数 Ai,Bi。依次代表第i个人的打饭时间和吃饭时间。

输出格式:

一个整数T,代表所有人吃完饭的最早时刻。

输入输出样例

输入样例#1: 复制

5
2 2
7 7
1 3
6 4
8 5
输出样例#1: 复制
17
说明

所有输入数据均为不超过200的正整数。

有贪心的思想可以发现让吃饭时间长的人先吃饭会更优(不会证,orz)

记录打饭时间的前缀和,正常的dp就好了

program df;

var i,j,n,m,x,y,z,k,t:longint;
a,b,c:array[0..1000000] of longint;
f:array[0..200,0..40000] of longint;
function min(x,y:longint):longint;
begin
if x>y then exit(y)
else exit(x);
end;

function max(x,y:longint):longint;

begin
if x>y then exit(x)
else exit(y);
end;

procedure sq(l,r:longint);

var i,j,mm,m2,dd:longint;
begin
i:=l; j:=r;
mm:=a[(l+r) div 2];
m2:=b[(l+r) div 2];
repeat
while (b[i]>m2) or ((b[i]=m2) and (a[i]>mm)) do inc(i);
while (b[j]

转载于:https://www.cnblogs.com/Gxyhqzt/p/7784213.html

你可能感兴趣的文章
win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境
查看>>
通过cmd查看环境变量名对应的环境变量值
查看>>
Python: 利用Python进行数据分析 学习记录
查看>>
python 零基础学习之路-06 常用模块
查看>>
[Lintcode]165. Merge Two Sorted Lists/[Leetcode]21. Merge Two Sorted Lists
查看>>
【ASP.NET 进阶】TreeView控件学习
查看>>
linux nfs配置
查看>>
【.Net Core】Assets file project.assets.json not found. Run a NuGet package restore
查看>>
mybatis框架
查看>>
编程语言
查看>>
自己的ORMapping
查看>>
读取NfcA格式数据
查看>>
java泛型 泛型的内部原理:类型擦除以及类型擦除带来的问题
查看>>
urllib.unquote()、urllib.urlencode()
查看>>
JSP的学习(7)——九大隐式对象之pageContext对象
查看>>
.NET对象序列化—TimeSpan
查看>>
sprint 1 总结
查看>>
JS实现禁止短时间内连续触发事件
查看>>
最大连续子序列和问题(Maximum Consecutive Subsequence Sum)
查看>>
redis 的过期策略都有哪些?内存淘汰机制都有哪些?
查看>>