会议室重叠算法

非常好的题目:

http://blog.csdn.net/benbenab/article/details/8487988

1. 开会的题目,问给一堆会议,每个会议一个开始时间,结束时间,问有没有 overlap
2. 如果这些会议有overlap 求最小需要多少房间

非常好的解法

直接把开始时间和结束时间混在一起排序,每到开始时间,会议室++,到结束时间,会议室--。就可以得出最多需要多少会议室(以及有没有重叠)。

刚开始看到覆盖类问题,第一时间就会想到线段树,用来解决区间查找问题。但是对于具体的应用,还是不甚了了。所以尽量还是不要用区间树。

每次可以进行如下的三种操作中的一种,

a,         在给定区间的每个数上加上一个特定的值;

b,        将指定区间的所有数设置成一个统一的值;

c,         询问一个区间上的最小值,最大值,以及区间的所有树的和。

跟这个应用还是不太一样。

原文地址:https://www.cnblogs.com/charlesblc/p/6364669.html