首页 > 其他分享 >51nod 1428活动安排问题

51nod 1428活动安排问题

时间:2023-02-07 12:02:48浏览次数:48  
标签:node return 这题 51nod 1428 安排 long int ans


有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室? 

 收起

输入


第一行一个正整数n (n <= 10000)代表活动的个数。 第二行到第(n + 1)行包含n个开始时间和结束时间。 开始时间严格小于结束时间,并且时间都是非负整数,小于1000000000


输出


一行包含一个整数表示最少教室的个数。


输入样例


3 1 2 3 4 2 9


输出样例


2


分析:

这题受到了这题的影响:​​51nod 1133 不重叠的线段​​

这题要看好题意,主要思想就是我们按照从小到到排序,左端点优先,右端点其次

我们用一个优先队列保存我们选择的活动的结束时间最早的一个,如果当前活动的开始时间<=q.top(),这个活动可以接在后面,然后更新优先队列;如果当前活动的开始时间>q.top(),肯定要为它新开一个教室

 

#include<bits/stdc++.h>
using namespace std;
struct node
{
long long l,r;
}a[100005];
bool cmp(node x,node y)
{
if(x.l==y.l)
return x.r<y.r;

return x.l<y.l;
}
int main()
{
int n;
while(~scanf("%d",&n))
{
priority_queue<long long,vector<long long>,greater<long long> >q;

for(int i=1;i<=n;i++)
{
scanf("%lld%lld",&a[i].l,&a[i].r);

}
sort(a+1,a+n+1,cmp);
long long ans=1;
long long last=a[1].r;
q.push(a[1].r);
for(int i=2;i<=n;i++)
{
if(a[i].l<q.top())
{
ans++;
q.push(a[i].r);
}
else
{
q.pop();
q.push(a[i].r);
}
}
printf("%lld\n",ans);

}
return 0;
}

 

标签:node,return,这题,51nod,1428,安排,long,int,ans
From: https://blog.51cto.com/u_14932227/6041856

相关文章

  • 51nod 1138 连续整数的和 好题
    给出一个正整数N,将N写为若干个连续数字和的形式(长度>=2)。例如N=15,可以写为1+2+3+4+5,也可以写为4+5+6,或7+8。如果不能写为若干个连续整数的和,则输出NoS......
  • 51nod 1095 Anigram单词
    1095Anigram单词一个单词a如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的Anigram,例如单词army和mary互为Anigram。另:相同的2个单词不算Anigram。现在给定......
  • 51nod 1133 不重叠的线段
    X轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。(注:起点或终点重叠,不算重叠)。例如:[15][23][36],可以选[23][36],这2条线段互不重叠。 收......
  • 51Nod 1050 循环数组最大子段和
    N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的......
  • C/C++保安排班管理系统[2023-02-04]
    C/C++保安排班管理系统[2023-02-04]学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为......
  • 算法刷题 Day 30 | ● 332.重新安排行程 ● 51. N皇后 ● 37. 解数独
    详细布置今天这三道题都非常难,那么这么难的题,为啥一天做三道?因为一刷也不求大家能把这么难的问题解决,所以大家一刷的时候,就了解一下题目的要求,了解一下解题思路,......
  • 法定节假日安排表 判断是否工作日
    每年年底根据国务院办公厅节假日安排通知,组成以下表结构,生成表数据。CREATETABLE`法定节假日安排表`(`id`int(11)NOTNULLAUTO_INCREMENT,`年度`int(11)NULL......
  • BRD:根据渠道安排随机分配置靓号实现
    --BRD:根据渠道安排随机分配置靓号--CreatetablecreatetableT_LUCKY_ITEM(BILL_IDVARCHAR2(20),BILL_LEVELVARCHAR2(10),ORG_IDVARCHAR2(20),......
  • 332. 重新安排行程
    通过图论的相关知识可知,题目的要求是通过已知条件建立一个欧拉通路,最常用的算法是Hierholzer算法。Hierholzer算法Hierholzer算法给出一种基于dfs寻找欧拉回路的算法ste......
  • 疫情全面放开,“阳”了之后如何高效安排员工居家办公?
    随着疫情防控常态化工作的实施,居家办公或者混合办公将成为很多企业的常态,企业管理者们从最初考虑如何开展远程办公,开始转变为怎么能将远程办公做得更好。而如何在远程办公中......