《贪心算法》— NYOJ 14 会场安排问题 思路

                                                                会场安排问题

时间限制:3000 ms  |  内存限制:65535 KB

难度:4

描述

学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。

输入

第一行是一个整型数m(m<100)表示共有m组测试数据。
每组测试数据的第一行是一个整数n(1<n<10000)表示该测试数据共有n个活动。
随后的n行,每行有两个正整数Bi,Ei(0<=Bi,Ei<10000),分别表示第i个活动的起始与结束时间(Bi<=Ei)

输出

对于每一组输入,输出最多能够安排的活动数量。
每组的输出占一行

样例输入

2
2
1 10
10 11
3
1 10
10 11
11 20

样例输出

1
2

提示

注意:如果上一个活动在t时间结束,下一个活动最早应该在t+1时间开始

思路:先排序,一个活动结束的时间与下一个活动开始时间进行比较。

我的程序:

 

#include<stdio.h>
#include<algorithm>
using namespace std;
struct note{
int a, b;
}s[10100];
bool cmp(note a1, note a2){
if(a1.b != a2.b)
return a1.b < a2.b;
return a1.a > a2.a;


}
int main(){
int m,i;
scanf("%d",&m);
while(m--){
int n, sum = 1, j;
scanf("%d",&n);
for(i = 0; i < n; i++)
scanf("%d%d",&s[i].a,&s[i].b);
sort(s, s+n, cmp);
for(i = 0,j = 0; i < n; i++){
if((s[j].b+1)<= s[i+1].a){
sum++;
j = i + 1;
}
}
printf("%d\n",sum);
}
return 0;
} 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 小刘需要仔细查看每个活动的时间表,将时间不冲突的活动安排在同一时间段内,以便能够安排更多的活动。如果有多个活动在同一时间段内,小刘需要根据活动的重要性、参与人数等因素来进行优先安排。同时,小刘还需要考虑礼堂的容量和设备等因素,确保每个活动都能够得到充分的支持和保障。最终,小刘需要制定一个详细的活动安排表,以便学校师生能够清楚地了解每个活动的时间和地点。 ### 回答2: 小刘需要根据已有的时间表,仔细分析每个活动的重要性、时长等因素,合理地安排时间,让尽可能多的活动得到举办。具体来说,可以采取以下措施: 1. 制定优先级顺序。小刘可以将所有活动按照重要性、时长和参与人数等因素来排序,然后根据优先级来一一安排,保证优先级高的活动能够得到举办。 2. 确定时间表空隙。小刘可以先将已经确定的活动的时间表排好,然后仔细查看时间表,找出其中出现空隙的时间段,这些水突出的时间段可以重新安排其他未确定的活动,让尽可能多的活动得到举办。 3. 考虑共用场地。如果有几个活动的场地相同,小刘可以尝试将这些活动安排在同一时间段,这样可以省去安排多个场地的麻烦,也能够让更多的活动得到举办。 4. 与活动组织者协调。小刘可以与各个活动的组织者协商,根据各个活动的时长和场地需求等因素来制定最佳的时间表,确保每个活动都能够得到尽可能充分的利用和举办。 总之,对于礼堂举办者来说,合理安排并举办更多的活动是一项重要的任务,需要综合考虑各种因素并灵活运用各种策略,才能够让更多的活动得到成功的举办。 ### 回答3: 首先,小刘需要将所有活动的计划时间整理出来,可以用表格或者表格来展示。将每个活动的名称、计划时间和其他相关信息填写到表格中,以便后续分析。 然后,小刘可以对这些活动进行分类,将相似性质的活动放在一起,比如学术活动、文艺活动、体育活动等。这样有助于他更好地理解每个活动的特点和安排情况。 接着,小刘可以从中挑选出一些重要的活动,优先安排在空闲时间段。比如学校的重要节日、学术会议等活动。然后,他可以进行时间表的优化,尝试在其他时间段安排更多的活动。根据每个活动的特点和参与人数,结合场地情况进行综合考虑,选择最适合的安排方案。 最后,小刘要做好调整准备。由于每个活动的参与人数、安排时间等因素不尽相同,可能会出现一些活动计划时间的冲突。小刘需要及时调整安排,确保每个活动都可以正常开展。 综合来看,小刘在安排学校礼堂的活动时需要考虑多方面因素,如活动类别、活动重要性、参与人数、场地等等。通过分类整理、优先安排和综合考虑等方式来确定最佳安排方案,同时保持高度的灵活性和调整能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值