题目大意,N个区间覆盖[T1,T2]及对应的代价S,求从区间M到E的全部覆盖的最小代价是多少。 (1 <= N <= 10,000),(0 <= M <= E <= 86,399).
思路是DP,首先将每个区间按照T2从小到大排序,设dp(k)为从m覆盖到k所需最小代价,则有
dp(T2[i]) = min(dp(T2[i]), {dp(j) + Si, T1[i] - 1<=j <= T2[i]}),对于 {dp(j) + Si, T1[i] - 1<=j <= T2[i]}我们可以用线段树来进行优化,所以最终复杂度为O(n*logE)。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include