贪心的一种,维护一种尽可能优的状态(即不会比最优解差),将这种状态保持到最后。

 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 贪心相关推荐

  1. BZOJ 1029: [JSOI2007]建筑抢修 堆+贪心

    1029: [JSOI2007]建筑抢修 Description 小刚在玩JSOI提供的一个称之为"建筑抢修"的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的 入侵者.但 ...

  2. BZOJ 1029: [JSOI2007]建筑抢修【贪心】

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MB Description 小刚在玩JSOI提供的一个称之为"建筑抢修&q ...

  3. BZOJ.1029.[JSOI2007]建筑抢修(贪心)

    题目链接 直接排序显然怎么都不行. 先按毁坏时间排序,优先修损坏早的,中途我们再改修的建筑. 枚举每个建筑x,如果能,就修:不能的话,从之前要修的建筑中找一个花时最大的need[top],如果need ...

  4. bzoj 2563 贪心 思想

    BZOJ2563阿狸和桃子的游戏 2563: 阿狸和桃子的游戏 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 952  Solved: 682 [Su ...

  5. bzoj 1634 贪心

    题意:送n头牛回牛棚,每送一头牛消耗的时间为2*Ti 分钟,同时如果第i头牛没有被送回会每分钟啃食Di花朵,求把所有牛送回最少被啃食的花朵 贪心 令sum表示除去第i头牛和第j头牛外,其余没有被送回的 ...

  6. BZOJ 2288 贪心 +链表

    思路: 放个题解好吧. http://www.cnblogs.com/zyfzyf/p/4114774.html //By SiriusRen #include <queue> #incl ...

  7. bzoj 3671 贪心

    想到了从小到大依次填,但想到可能有重复元素,那是就会有分支,就不知怎样办了,最后才发现它是用随机数来调整排列,所以没有重复元素,唉..... 1 /************************** ...

  8. 一句话题解(20170801~20170125)

    8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...

  9. oracle列转行查询,Oracle列转行函数Listagg以及pivot查询示例

    简单的Oracle列转行函数Listagg示例: CREATE TABLE tbl_test (catalog VARCHAR(1),product VARCHAR(2),amount NUMBER) ...

最新文章

  1. 有哪些好用的协同办公软件?
  2. Oculus除创始人之外的第一位员工离职
  3. c# 学习笔记 (1) 类型转换
  4. tableau应用实战案例(五十)-销售业绩的tableau可视化案例
  5. mysql explain 用法和理解
  6. C语言关键字static与extern的详细解释
  7. inotify+rsync
  8. mysql 必知必会 笔记
  9. 电脑内存占用莫名很高_CPU占用高,电脑莫名卡顿?万能的重启拯救不了就用这3招,妥了!...
  10. 剑指offer--调整数组顺序使奇数位于偶数前面
  11. hibernate clob mysql_Hibernate操作Clob类型数据
  12. 【实用工具】eclipse mac安装
  13. 实数系的完备性的含义
  14. 软件工程造价师和软件造价评估师有什么区别?
  15. 基于Multisim的循环彩灯控制器仿真设计
  16. 163邮箱注册申请入口,申请163的邮箱账号
  17. 获取必应每日一图网址
  18. 用jQuery合并表格中相同文本的相邻单元格
  19. python面试题 网络编程和并发(34道题)
  20. 魅族 -- 禁止D及以下级别LOG的输出

热门文章

  1. 设计模式—适配器模式(思维导图)
  2. java实现数据结构-堆排序
  3. np.concatenate 函数的使用
  4. c#读取csv文件成DataTable,将DataTable数据存储为csv格式文件
  5. xilinx sdk退出Debug模式回到C开发布局
  6. sphinx php mysql_Sphinx+MySQL+PHP 12亿DNS数据秒查
  7. [理解] Linux 作为一个服务器是怎样的存在 (一)
  8. linux 压缩工具
  9. 复习笔记08 常用API
  10. OpenGL第六节:加载png图片