Pro.ID1920 Title算法设计例题:任务时间表问题(贪心) Title链接http://10.20.2.8/oj/exercise/problem?problem_id=1920 AC178 Submit1263 Ratio14.09% 时间&空间限制描述一个单位时间任务是恰好需要一个单位时间完成的任务。给定一个单位时间任务的有限集S。关于S的一个时间表用于描述S中单位时间任务的执行次序。时间表中第1个任务从时间0开始执行直至时间1结束,第2个任务从时间1开始执行至时间2结束,…,第n个任务从时间n-1开始执行直至时间n结束。具有截止时间和误时惩罚的单位时间任务时间表问题可描述如下。 (1) n个单位时间任务的集合S = { 1, 2, …, n }; (2) 任务i的截止时间di,1 ≤ i ≤ n, 1 ≤ di ≤ n,即要求任务i在时间di之前结束; (3) 任务i的误时惩罚wi,1 ≤ i ≤ n,即任务i未在时间di之前结束将招致wi的惩罚;若按时完成则无惩罚。 任务时间表问题要求确定S的一个时间表(最优时间表)使得总误时惩罚达到最小。 输入输入的第一个为测试样例的个数T,接下来有T个测试样例。每个测试样例的第一行是两个整数n( n < 10000 ),接下来有n行,每行两个整数d和w,表示第i个任务的截止时间和误时惩罚的时间。 输出Description 一个单位时间任务是恰好需要一个单位时间完成的任务。给定一个单位时间任务的有限集S。关于S的一个时间表用于描述S中单位时间任务的执行次序。时间表中第1个任务从时间0开始执行直至时间1结束,第2个任务从时间1开始执行至时间2结束,…,第n个任务从时间n-1开始执行直至时间n结束。具有截止时间和误时惩罚的单位时间任务时间表问题可描述如下。 (1) n个单位时间任务的集合S = { 1, 2, …, n }; (2) 任务i的截止时间di,1 ≤ i ≤ n, 1 ≤ di ≤ n,即要求任务i在时间di之前结束; (3) 任务i的误时惩罚wi,1 ≤ i ≤ n,即任务i未在时间di之前结束将招致wi的惩罚;若按时完成则无惩罚。 任务时间表问题要求确定S的一个时间表(最优时间表)使得总误时惩罚达到最小。 Input 输入的第一个为测试样例的个数T,接下来有T个测试样例。每个测试样例的第一行是两个整数n( n < 10000 ),接下来有n行,每行两个整数d和w,表示第i个任务的截止时间和误时惩罚的时间。 Output 对应每个测试样例输出一行,格式为"Case #: t",其中'#'表示第几个测试样例(从1开始计),t表示最优时间表的总误时惩罚时间。 Sample Input 1 Sample Output Case 1: 50 Author 样例输入1 样例输出Case 1: 50 提示作者 |