TV Battle
问题描述
给定n个区间,每个区间i([si,ti])有一个价值为pi,在满足相容性的条件下如何选择区间使得所得到的价值最大,求解最大价值。数据规模:n<=100000, t<=10080,Time Limit:1000ms。
问题分析
这是一道动态规划题目,构造出一个状态转移方程并不是难题。事实上,我在作出这道题目之前就构造出了2个状态转移方程,都是TLE报错。
最后AC的解法:
定义f[i]:区间[0,i]内所能获得的最大价值:
<1>、将各个区间按照终点升序排列;
<2>、只在每个区间结束点出更新最优解。
<3>、非终点处只需将在该点之前以求得的最优值传递下去;
最好自己动手画一些线段模拟一下就知道了。