好像最近写的几篇博客都是关于动态规划的,看来动态规划在acm里面也是常客~~~
hdu6249题目链接:点击打开链接
大意:给出m个闭区间,各区间左端点和右端点都在[1,n]内,求从中选出k个区间的最大区间并。
1≤T≤100
1≤K≤M
1≤N,M≤2000
1≤Li≤Ri≤N
数据规模见上,对其进行分析,估计这道题应该是用o(n^2)的解法
思路:对于区间问题,我首先想到的就是离散化处理,对各个区间端点进行排序标号,Java的话可以直接用Set和Map去做。当然对于各个区间也最好先排一下序方便处理,这里我是优先按右端点之后按左端点进行排序
然后预处理各个点,用prev[i]表示仅用一个区间,选i点,最左可以延伸到的点的序号(下面我结合样例说明)
Sample Input