有一个显然的贪心结论,就是先完成任务截止时间考前的,若在前面的都无法完成,那么后面的更加不可能完成。题目十分良心,aia_iai 已经在输入时升序给出。
对于每个任务,需要用尽可能少地耗时完成尽可能多的百分比,每个计划的状态均为选或不选,这不就是 0−10-10−1 背包嘛。由于要输出方案,所以我们设二维状态,对于某个任务,设 dpi,jdp_{i,j}dpi,j 表示该任务的前 iii 个计划完成的百分率为 jjj 时的最小耗时,这里默认 j>100j > 100j>100 时也表示成 j=100j = 100j=100 的状态。所以可以写成方程 dpi,j(j≤[1,100])=min(dpi−1,j,min{ dpi−1,j−p+t})dp_{i,j}(j \le [1,100]) = \min (dp_{i - 1,j},\min \{dp_{i - 1,j - p} + t\})dpi,j(j≤[1,100])=min(dpi−1,j,min{ dpi