任务分配问题
Problem Description
现有 n 件任务和无限多台的机器,任务可以在机器上得到处理。每件任务的开始时间为 si,完成时间为 ei,[si, ei]为处理任务的时间范围。2 个任务重叠是指 2 个任务的时间范围有重叠。例如,[1, 4]与[2, 4]重叠,[1, 4]与[4, 7]重叠。一个可行的任务分配是指在分配中没有 2 件重叠的任务分配给同一台机器。
对于给定的 n 件任务,编程计算使用机器数最少的可行分配方案。
Input
第1行只有一个整数n(n<=1000,表示任务的总数。接下来有n行,每行2个整数si,ei分别表示任务的开始时间和完成时间,其中0<=si<=ei<10000.
Output
计算出的最少使用的机器数。
Sample Input
3
1 4
2 5
5 7
Sample Output
2
Author
tianzuwei
思考:用N个任务,很多的机器,每一个任务有一个开始和结束的时间[si, ei],任务的完成时间是固定的,也是会有重叠的部分,也就是在3点的时候,可能有[1,4],[2,4]两个任务需要同时完成,现在问完成这么多的任务最少需要多少的机器。假如给每一个任务都分配一个机器的话,那么至多也就是需要N个机器,但是很明显的地方在于一台机器可以完成[1,3], [4,6] 等多个不重叠的任务,所以完成N个任务的最少机器,就是在某一个时间点上面任务重叠最多的所需