#1309 : 任务分配

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

给定 N 项任务的起至时间( S1E1 ), ( S2E2 ), ..., ( SNEN ), 计算最少需要多少台机器才能按时完成所有任务。

同一时间一台机器上最多进行一项任务,并且一项任务必须从头到尾保持在一台机器上进行。任务切换不需要时间。

输入

第一行一个整数 N,(1 ≤ N ≤ 100000),表示任务的数目。 以下 N 行每行两个整数 SiEi,(0 ≤ Si < Ei ≤ 1000000000),表示任务的起至时间。

输出

输出一个整数,表示最少的机器数目。

样例输入
5
1 10
2 7
6 9
3 4
7 10
样例输出
3

题目连接:http://hihocoder.com/problemset/problem/1309
题意:n个时间,每个时间有开始时间和结束时间,问至少需要几台机器才能全部完成。
思路:贪心。时间按s,e升序排序。利用优先队列。
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
using namespace std;
const int MAXN=1e6+;
struct cmp
{
bool operator ()(int &a,int &b)
{
return a>b;
}
};
priority_queue<int,vector<int>,cmp>Q;
struct node
{
int s,e;
} x[MAXN];
int cmp(node a,node b)
{
if(a.s!=b.s) return a.s<b.s;
else return a.e<b.e;
}
int sign[MAXN];
int main()
{
int i,j,n;
while(~scanf("%d",&n))
{
for(i=; i<=n; i++)
scanf("%d%d",&x[i].s,&x[i].e);
sort(x+,x+n+,cmp);
Q.push();
for(i=; i<=n; i++)
{
if(Q.top()<=x[i].s)
{
Q.pop();
Q.push(x[i].e);
}
else Q.push(x[i].e);
}
cout<<Q.size()<<endl;
}
return ;
}

贪心 优先队列


hihoCoder 1309:任务分配 贪心 优先队列的更多相关文章

  1. hiho #1309 任务分配

    #1309 : 任务分配 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定 N 项任务的起至时间( S1, E1 ), ( S2, E2 ), ..., ( SN,  ...

  2. UVA 11134 - Fabled Rooks(贪心+优先队列)

    We would like to place  n  rooks, 1 ≤  n  ≤ 5000, on a  n×n  board subject to the following restrict ...

  3. C. Playlist Educational Codeforces Round 62 (Rated for Div. 2) 贪心+优先队列

    C. Playlist time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  4. HDU 6438 网络赛 Buy and Resell(贪心 + 优先队列)题解

    思路:维护一个递增队列,如果当天的w比队首大,那么我们给收益增加 w - q.top(),这里的意思可以理解为w对总收益的贡献而不是真正获利的具体数额,这样我们就能求出最大收益.注意一下,如果w对收益 ...

  5. 贪心+优先队列 HDOJ 5360 Hiking

    题目传送门 /* 题意:求邀请顺序使得去爬山的人最多,每个人有去的条件 贪心+优先队列:首先按照l和r从小到大排序,每一次将当前人数相同的被邀请者入队,那么只要能当前人数比最多人数条件小,该人能 被邀 ...

  6. [POJ1456]Supermarket(贪心 + 优先队列 || 并查集)

    传送门 1.贪心 + 优先队列 按照时间排序从前往后 很简单不多说 ——代码 #include <queue> #include <cstdio> #include <i ...

  7. Painting The Fence(贪心+优先队列)

    Painting The Fence(贪心+优先队列) 题目大意:给 m 种数字,一共 n 个,从前往后填,相同的数字最多 k 个在一起,输出构造方案,没有则输出"-1". 解题思 ...

  8. CF140C New Year Snowmen(贪心+优先队列)

    CF140C 贪心+优先队列 贪心策略:每次取出数量最多的三种球,合成一个答案,再把雪球数都-1再插回去,只要还剩下三种雪球就可以不断地合成 雪球数用优先队列维护 #include <bits/ ...

  9. BZOJ1029: [JSOI2007]建筑抢修[模拟 贪心 优先队列]

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MBSubmit: 3785  Solved: 1747[Submit][Statu ...

随机推荐

  1. 解决MD5问题

    使用VS时报错此实现不是 Windows 平台 FIPS 验证的加密算法的一部分. 解决方案如下:在window中打开功能里输入regedit,回车打开注册器.然后进入如下路径中 HKEY_LOCAL ...

  2. Android开发--页面切换

    1.创建android项目.项目文档如下 2.activity_main布局,Androidv4包里自带的,既然是自带的那么直接拿来用就可以了,当然前提是你得工程里有v4包 <LinearLay ...

  3. 2o_TwoTips

    ∮Linux 使用的两个小技巧 开启启动脚本 和 环境变量问题 §1.开机启动脚本 && 周期任务 环境 CentOS7:3.10.0-327.el7.x86_64 # head /e ...

  4. MySQL之账户管理

    MySQL之账户管理 账户管理是MySQL用户管理最基本的内容.包括登录,退出MySQL服务器.创建用户.删除用户.密码管理和权限管理等内容. 其中登录方式非常简单,在这个地址有:http://www ...

  5. egret.Tween、egret.Ease

    循环调用.只能设置boolean,不能设置循环次数. egret.Tween.).call(()=>{ console.log("循环调用"); }) 每次改变时,调用onC ...

  6. web前端之性能优化

    作为一个前端工作人员,而且只会写点HTML5和CSS3的“假”前端工程师,为了能更好地理解一下前端的花花世界,最近拜读了<高性能网站建设指南>一书,对作者提出的前端性能优化的14个规则获益 ...

  7. redis geo 初探

    redis的geo搜索功能是3.2之后新增的,所以实验开始之前先查看redis的版本,确保版本正确. redis的geo多用于地理类应用,所以这次还是用了高德地图API来用作数据源. 首先截取几个点: ...

  8. Struts2 有关于无法正常的使用通配符

    今天使用struts 2.3.4版本,做了一个通配符的小测试,结果其他的Action都能正常的使用,但是使用通配符的Action不能正常的使用.网上找了很久,最后发现,貌似strust2.3版本以上的 ...

  9. 将Linux文件清空的几种方法

    1.使用重定向的方法 [root@centos7 ~]# du -h test.txt .0K test.txt [root@centos7 ~]# > test.txt [root@cento ...

  10. 微信小程序 wx.getUserInfo 解密 C# 代码

    花了6小时,弄出来的代码.网上的是PHP代码 public static string DecodeUserInfo(string raw, string signature,string encry ...