bzoj 1029 贪心
贪心的一种,维护一种尽可能优的状态(即不会比最优解差),将这种状态保持到最后。
1 /************************************************************** 2 Problem: 1029 3 User: idy002 4 Language: C++ 5 Result: Accepted 6 Time:400 ms 7 Memory:2368 kb 8 ****************************************************************/ 9 10 #include <cstdio> 11 #include <queue> 12 #include <algorithm> 13 #define maxn 150010 14 using namespace std; 15 16 int n, cnt, ctm; 17 priority_queue<int> heap; 18 19 struct Pair { 20 int t1, t2; 21 bool operator<( const Pair & b ) const { 22 return t2<b.t2; 23 } 24 }; 25 Pair jobs[maxn]; 26 27 int main() { 28 scanf( "%d", &n ); 29 for( int i=1; i<=n; i++ ) 30 scanf( "%d%d", &jobs[i].t1, &jobs[i].t2 ); 31 sort( jobs+1, jobs+1+n ); 32 cnt = ctm = 0; 33 for( int i=1; i<=n; i++ ) { 34 if( jobs[i].t1+ctm <= jobs[i].t2 ) { 35 heap.push( jobs[i].t1 ); 36 cnt++; 37 ctm += jobs[i].t1; 38 } else { 39 if( jobs[i].t1 < heap.top() ) { 40 cnt--; 41 ctm -= heap.top(); 42 heap.pop(); 43 heap.push( jobs[i].t1 ); 44 cnt++; 45 ctm += jobs[i].t1; 46 } 47 } 48 } 49 printf( "%d\n", cnt ); 50 }
View Code
转载于:https://www.cnblogs.com/idy002/p/4300024.html
bzoj 1029 贪心相关推荐
- BZOJ 1029: [JSOI2007]建筑抢修 堆+贪心
1029: [JSOI2007]建筑抢修 Description 小刚在玩JSOI提供的一个称之为"建筑抢修"的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的 入侵者.但 ...
- BZOJ 1029: [JSOI2007]建筑抢修【贪心】
1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MB Description 小刚在玩JSOI提供的一个称之为"建筑抢修&q ...
- BZOJ.1029.[JSOI2007]建筑抢修(贪心)
题目链接 直接排序显然怎么都不行. 先按毁坏时间排序,优先修损坏早的,中途我们再改修的建筑. 枚举每个建筑x,如果能,就修:不能的话,从之前要修的建筑中找一个花时最大的need[top],如果need ...
- bzoj 2563 贪心 思想
BZOJ2563阿狸和桃子的游戏 2563: 阿狸和桃子的游戏 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 952 Solved: 682 [Su ...
- bzoj 1634 贪心
题意:送n头牛回牛棚,每送一头牛消耗的时间为2*Ti 分钟,同时如果第i头牛没有被送回会每分钟啃食Di花朵,求把所有牛送回最少被啃食的花朵 贪心 令sum表示除去第i头牛和第j头牛外,其余没有被送回的 ...
- BZOJ 2288 贪心 +链表
思路: 放个题解好吧. http://www.cnblogs.com/zyfzyf/p/4114774.html //By SiriusRen #include <queue> #incl ...
- bzoj 3671 贪心
想到了从小到大依次填,但想到可能有重复元素,那是就会有分支,就不知怎样办了,最后才发现它是用随机数来调整排列,所以没有重复元素,唉..... 1 /************************** ...
- 一句话题解(20170801~20170125)
8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...
- oracle列转行查询,Oracle列转行函数Listagg以及pivot查询示例
简单的Oracle列转行函数Listagg示例: CREATE TABLE tbl_test (catalog VARCHAR(1),product VARCHAR(2),amount NUMBER) ...
最新文章
- 有哪些好用的协同办公软件?
- Oculus除创始人之外的第一位员工离职
- c# 学习笔记 (1) 类型转换
- tableau应用实战案例(五十)-销售业绩的tableau可视化案例
- mysql explain 用法和理解
- C语言关键字static与extern的详细解释
- inotify+rsync
- mysql 必知必会 笔记
- 电脑内存占用莫名很高_CPU占用高,电脑莫名卡顿?万能的重启拯救不了就用这3招,妥了!...
- 剑指offer--调整数组顺序使奇数位于偶数前面
- hibernate clob mysql_Hibernate操作Clob类型数据
- 【实用工具】eclipse mac安装
- 实数系的完备性的含义
- 软件工程造价师和软件造价评估师有什么区别?
- 基于Multisim的循环彩灯控制器仿真设计
- 163邮箱注册申请入口,申请163的邮箱账号
- 获取必应每日一图网址
- 用jQuery合并表格中相同文本的相邻单元格
- python面试题 网络编程和并发(34道题)
- 魅族 -- 禁止D及以下级别LOG的输出