Luogu P2920 时间管理【二分答案】
二分答案水题。
(像我这么蒻的人都能十几分钟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 时间管理【二分答案】相关推荐
- luogu P2680 运输计划 (二分答案+树上差分)
题目背景 公元 20442044 年,人类进入了宇宙纪元. 题目描述 公元20442044 年,人类进入了宇宙纪元. L 国有 nn 个星球,还有 n-1n−1 条双向航道,每条航道建立在两个星球之间 ...
- LUOGU P2920 [USACO08NOV]时间管理Time Management
题目描述 Ever the maturing businessman, Farmer John realizes that he must manage his time effectively. H ...
- BZOJ 3993 Luogu P3324 [SDOI2015]星际战争 (最大流、二分答案)
字符串终于告一段落了! 题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=3993 (luogu) https://www.l ...
- 洛谷 P2920 [USACO08NOV]时间管理Time Management
时间管理Time Management 二分枚举开始时间. #include <iostream> #include <cstdio> #include <algorit ...
- Luogu P4403 [BJWC2008]秦腾与教学评估【二分答案】By cellur925
题目传送门 这道题:真·凉心出题人. 二分答案,个人感觉其实并不只适用于有明显的"最大值最小/最小值最大"条件的题目,其实也可以称它为一种"优化的暴力".这题就 ...
- 随手练——HDU-2037 、P-2920 时间安排(贪心)
普通时间安排 HDU-2037 :http://acm.hdu.edu.cn/showproblem.php?pid=2037 选取结束时间早的策略. #include <iostream> ...
- 切蛋糕4 likes in 二分答案,剪枝优化
给定m个人和n块蛋糕 首先是需要先sort一遍把人的嘴的大小拍一遍序,如果是我,的话,用有限的蛋糕,满足的更多的人,我会选择满足 嘴巴小的人 所以先sort一遍,把所有的人的嘴巴排序一遍,二分答案 W ...
- 出色管理者的时间管理
出色管理者的时间管理 不少管理者都有这样的感慨:"忙了一天,也不知道忙了什么,时间还不够用."其实,只要有效地运用时间,就可以提高工作效率,在相同的时间里做更多的事,而且做得更好, ...
- UVA1146 / LA3211(ACM-ICPC 2004 Europe - Southwestern) Now or later(2-SAT问题 + 二分答案)
题目要求为 最大化最小值,很明显就是二分答案. 题目中每个飞机 要么是一种状态(早),要么是另一种状态(晚),考虑 2-SAT. 我们二分答案,二分着陆时间间隔的最小值 x. 枚举每两个飞机 p , ...
最新文章
- python与excel的应用-python基础之类与对象的应用-操作excel
- Sumif——可以用来发函证和进行重分类
- Linux环境升级node版本
- eeplat开发平台概念理解
- 开源.Net Standard版华为物联网北向接口SDK
- Vaadin提示:以声明方式构建UI
- python默认参数举例_Python中的默认参数实例分析
- 地理学中常见图的名称(或者分析)
- C# 8.0 预览特性
- Postfix无法在centos上启动
- 疯狂kotlin讲义连载之流程控制——顺序结构与分支结构 二
- android foobar wifi,foobar2000安卓
- 计算机word英语词汇大全,Microsoft Word - 计算机英语词汇汇总.pdf
- 8个免费图片素材网,赶紧收藏起来
- python股票回测
- Chrome开发者工具不完全指南:(三、性能篇)
- 《计算之魂》读书笔记 03
- 中国各城市首轮感染高峰期预测!(最新更新版)
- 银行贷款,求每月等额还款金额
- 中国SAP顾问在美国的跳槽经历
热门文章
- 【分析总结】ASP.NET中的状态管理原理
- ubuntu9.10回收站目录
- Face Alignment at 3000 FPS via Regressing Local Binary Features(CVPR2014)读后感(first pass)
- Samba在CentOS下的图形化界面的安装
- 使用GLSL实现雾化的效果
- C# 3.0下有限状态机的一种优雅的实现
- MySQL DDL操作--------外键最佳实战
- 从windows上传文件到linux,中文名乱码解决方法
- sidhu眼中的CoordinatorLayout.Behavior(二)
- 搭建自己的前端自动化测试脚手架(三)