[BZOJ1620][Usaco2008 Nov]Time Management 时间管理
2015-10-20 21:50
369 查看
原题地址
考虑按deadline从小到大完成任务,则如果这个策略无解,那么其他所有策略都是无解的,这个结论是很显然的…
然后考虑二分答案,发现根本没有这个必要,直接可以等效成以下做法(见代码)…
总之就是”按deadline从小到大完成任务”这个决策总是最优的,证明大概如上…
总觉得自己的证法好沙茶…
考虑按deadline从小到大完成任务,则如果这个策略无解,那么其他所有策略都是无解的,这个结论是很显然的…
然后考虑二分答案,发现根本没有这个必要,直接可以等效成以下做法(见代码)…
总之就是”按deadline从小到大完成任务”这个决策总是最优的,证明大概如上…
总觉得自己的证法好沙茶…
#include <cstdio> #include <algorithm> using namespace std; const int N=1010; int n,ans=1<<29; struct Data{ int t,s; friend bool operator<(Data x,Data y){ return x.s<y.s; } }d ; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&d[i].t,&d[i].s); sort(d+1,d+n+1); for(int i=1,sum=0;i<=n;i++){ sum+=d[i].t; ans=min(ans,d[i].s-sum); } printf("%d\n",ans<0?-1:ans); return 0; }
相关文章推荐
- 虚拟现实大会ChinaVR2015报告之-From Visual Content to Virtual Reality Data-driven Intelligence Production
- [AndroidUI]自定义view(二):实现带说明的图片
- Atom编辑器折腾记_(17)atom-minify[CSS/JS压缩神器]
- Linux grep命令正则表达式的常见用法
- js函数
- Java开发环境的搭建
- select结合curl处理多个handle
- C语言<三>-控制流
- 浅析C++中的打开文件、保存文件(OPENFILENAME)
- mysql 更改root密码
- VMWare 链接克隆OS后 网卡信息注入问题
- spring mvc+spring+mybatis+maven整合篇(一)
- ThreadPoolExecutor详解
- 浅析C++中的打开文件、保存文件(OPENFILENAME)
- Linux NFS服务
- 编程思想之正则表达式
- ThreadPoolExecutor详解
- Leetcode Set Matrix Zeroes
- HDU2955 Robberies
- 02skynet--例子简单解析