摘要:
/*** 日期: 2013-9-12** 题目大意:有n个数,划分为多个部分,假设M份,每份不能多于L个。每个数有一个h[i],** 每份最右边的那个数要大于前一份最右边的那个数。设每份最右边的数为b[i],** 求最大的sum{b[i]² - b[i - 1]},1≤i≤M,其中b[0] = 0。** 思路:朴素DP为,dp[i]表示以i为结尾的最大划分。那么dp[i] = max{dp[j] - h[j] + h[i]²},** 1≤i-j≤L,h[j]<h[i]。这种会超时,采取线段树优化。因为有两个限制,考虑到若h[j]≥h[i],** 那么求i的时候一定不会用到j 阅读全文