二分答案水题。

(像我这么蒻的人都能十几分钟A掉)

https://www.luogu.org/problemnew/show/P2920

开始时间一定在从0到min(t[i]-s[i])的一段区间上,因此我们可以愉快地二分答案。

在二分答案之前,我们贪心地把结束时间从小到大排一遍序,于是就可以二分了。

最后如果结果是负数,证明无解,不能完成任务。输出-1。

Check函数里,模拟累加一下当前的时间加上最靠近ddl任务所花的时间,看能不能完成,进行判断。

code

 1 #include<cstdio>
 2 #include<algorithm>
 3 #define inf 0x3f3f3f3f
 4
 5 using namespace std;
 6 int n,ans;
 7 int l,r=inf;
 8 struct task{
 9     int t,s;
10 }a[2000];
11 bool cmp(task x,task y)
12 {
13     return x.s<y.s;
14 }
15 bool check(int x)
16 {
17     int now=x;
18     for(int i=1;i<=n;i++)
19     {
20          if(now+a[i].t<=a[i].s) now+=a[i].t;
21          else return false;
22     }
23     return true;
24 }
25
26 int main()
27 {
28     scanf("%d",&n);
29     for(int i=1;i<=n;i++)
30     {
31         scanf("%d%d",&a[i].t,&a[i].s);
32         r=min(r,a[i].s-a[i].t);
33     }
34     sort(a+1,a+1+n,cmp);
35     while(l<r)
36     {
37         int mid=(l+r+1)>>1;
38         if(check(mid)) l=mid;
39         else r=mid-1;
40     }
41     ans=l ? l : -1;
42     printf("%d",ans);
43     return 0;
44 }

View Code

转载于:https://www.cnblogs.com/nopartyfoucaodong/p/9330073.html

Luogu P2920 时间管理【二分答案】相关推荐

  1. luogu P2680 运输计划 (二分答案+树上差分)

    题目背景 公元 20442044 年,人类进入了宇宙纪元. 题目描述 公元20442044 年,人类进入了宇宙纪元. L 国有 nn 个星球,还有 n-1n−1 条双向航道,每条航道建立在两个星球之间 ...

  2. LUOGU P2920 [USACO08NOV]时间管理Time Management

    题目描述 Ever the maturing businessman, Farmer John realizes that he must manage his time effectively. H ...

  3. BZOJ 3993 Luogu P3324 [SDOI2015]星际战争 (最大流、二分答案)

    字符串终于告一段落了! 题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=3993 (luogu) https://www.l ...

  4. 洛谷 P2920 [USACO08NOV]时间管理Time Management

    时间管理Time Management 二分枚举开始时间. #include <iostream> #include <cstdio> #include <algorit ...

  5. Luogu P4403 [BJWC2008]秦腾与教学评估【二分答案】By cellur925

    题目传送门 这道题:真·凉心出题人. 二分答案,个人感觉其实并不只适用于有明显的"最大值最小/最小值最大"条件的题目,其实也可以称它为一种"优化的暴力".这题就 ...

  6. 随手练——HDU-2037 、P-2920 时间安排(贪心)

    普通时间安排 HDU-2037 :http://acm.hdu.edu.cn/showproblem.php?pid=2037 选取结束时间早的策略. #include <iostream> ...

  7. 切蛋糕4 likes in 二分答案,剪枝优化

    给定m个人和n块蛋糕 首先是需要先sort一遍把人的嘴的大小拍一遍序,如果是我,的话,用有限的蛋糕,满足的更多的人,我会选择满足 嘴巴小的人 所以先sort一遍,把所有的人的嘴巴排序一遍,二分答案 W ...

  8. 出色管理者的时间管理

    出色管理者的时间管理 不少管理者都有这样的感慨:"忙了一天,也不知道忙了什么,时间还不够用."其实,只要有效地运用时间,就可以提高工作效率,在相同的时间里做更多的事,而且做得更好, ...

  9. UVA1146 / LA3211(ACM-ICPC 2004 Europe - Southwestern) Now or later(2-SAT问题 + 二分答案)

    题目要求为 最大化最小值,很明显就是二分答案. 题目中每个飞机 要么是一种状态(早),要么是另一种状态(晚),考虑 2-SAT. 我们二分答案,二分着陆时间间隔的最小值 x. 枚举每两个飞机 p , ...

最新文章

  1. python与excel的应用-python基础之类与对象的应用-操作excel
  2. Sumif——可以用来发函证和进行重分类
  3. Linux环境升级node版本
  4. eeplat开发平台概念理解
  5. 开源.Net Standard版华为物联网北向接口SDK
  6. Vaadin提示:以声明方式构建UI
  7. python默认参数举例_Python中的默认参数实例分析
  8. 地理学中常见图的名称(或者分析)
  9. C# 8.0 预览特性
  10. Postfix无法在centos上启动
  11. 疯狂kotlin讲义连载之流程控制——顺序结构与分支结构 二
  12. android foobar wifi,foobar2000安卓
  13. 计算机word英语词汇大全,Microsoft Word - 计算机英语词汇汇总.pdf
  14. 8个免费图片素材网,赶紧收藏起来
  15. python股票回测
  16. Chrome开发者工具不完全指南:(三、性能篇)
  17. 《计算之魂》读书笔记 03
  18. 中国各城市首轮感染高峰期预测!(最新更新版)
  19. 银行贷款,求每月等额还款金额
  20. 中国SAP顾问在美国的跳槽经历

热门文章

  1. 【分析总结】ASP.NET中的状态管理原理
  2. ubuntu9.10回收站目录
  3. Face Alignment at 3000 FPS via Regressing Local Binary Features(CVPR2014)读后感(first pass)
  4. Samba在CentOS下的图形化界面的安装
  5. 使用GLSL实现雾化的效果
  6. C# 3.0下有限状态机的一种优雅的实现
  7. MySQL DDL操作--------外键最佳实战
  8. 从windows上传文件到linux,中文名乱码解决方法
  9. sidhu眼中的CoordinatorLayout.Behavior(二)
  10. 搭建自己的前端自动化测试脚手架(三)