摘要:
POJ 1769Minimizing maximizer线段树之点树:将最大的数字分离到最后的一位!题意分析:如果我们考虑将数组看成一条[1, n]的线段,而每项操作也看成是从[ i[k], j[k] ]的线段,那么题意就是按照线段的输入顺序,将线段[1, n]从左到右依次覆盖,问题变成求最小的覆盖线段总数.算法思想:考虑最基本的规划方法,用Opt[k]表示覆盖掉[1, k]的线段最少需要的步数,那么状态转移方程为:Opt[k] = min { Opt[d] + 1 | j[p] = k && d >= i[p] && d <= j[p] & 阅读全文