[bzoj1597][USACO2008]土地购买(DP斜率优化/四边形优化)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1597
分析:
1、先可以把被包含的土地可以去掉,这些土地的长宽肯定都是不会用的,具体先把他们按照长从小到大排序,然后从后往前扫,如果后面的某个宽比前面宽大,那么就把这个土地给去掉。然后出来的土地的排序就是从前到后长递增,宽递减。
2、这个时候从贪心的思想可以知道取几块土地一起搞,那么这些土地肯定是连一块的。因为如果不连一块,可以把他们中间没取的土地也取了,不会改变结果,但显然对更优。所以我们就可以DP了,f[i]=min{f[j]+b[i]*a[j+1]}
3、对上面的式子斜率优化:
设x=a[j+1],y=f[j],k=b[i],z=f[i]
那么就相当于平面上有一些点(x,y),然后要使得Z=kx+y最小
显然的线性规划:写成y=-kx+Z
易得使其最小的点肯定在平面上这些点的凸包上,并且注意到-k=-b[i]是单增的,所以直线越来越平缓,所以决策是单调递增的。
所以总的复杂度O(n)
当然上面的式子也可以四边形优化
设w[j,i]=b[i]*a[j+1]
那么只要证明w[j,i]+w[j+1,i+1]<=w[j+1,i]+w[j,i+1]即可
这个稍微化简就可以知道是成立了
也就是说决策单调,于是O(nlogn)
不过当然复杂度还是第一个比较好,但第二个也可以过