[bzoj1597][USACO2008]土地购买(DP斜率优化/四边形优化)
2014-09-13 19:34
246 查看
题目: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)
不过当然复杂度还是第一个比较好,但第二个也可以过
分析:
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)
不过当然复杂度还是第一个比较好,但第二个也可以过
相关文章推荐
- [BZOJ1597][Usaco2008 Mar]土地购买(斜率优化dp)
- 【BZOJ1597】【USACO 2008 Mar】土地购买(斜率优化DP)
- bzoj1597: [Usaco2008 Mar]土地购买(斜率优化+Dp+单调队列)
- BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]
- 【斜率优化DP】BZOJ1597 [Usaco2008 Mar]土地购买
- bzoj1597[Usaco2008 Mar]土地购买 斜率优化dp
- BZOJ 1597 Usaco 2008 Mar 土地购买 斜率优化DP
- BZOJ.1597.[Usaco2008 Mar]土地购买(DP 斜率优化)
- [BZOJ 1597] Usaco2008 Mar 土地购买 · 斜率优化DP
- BZOJ1597(Usaco2008 Mar)[土地购买]--斜率优化DP
- [BZOJ 1597][Usaco2008 Mar]土地购买:DP斜率优化
- bzoj 1597: [Usaco2008 Mar]土地购买(斜率优化dp 例题)
- [斜率DP优化]BZOJ 1597: [Usaco2008 Mar]土地购买 题解
- 【BZOJ1597】【Usaco2008 Mar】土地购买 斜率优化DP
- [bzoj1597]: [Usaco2008 Mar]土地购买(斜率优化dp)
- bzoj 1597: [Usaco2008 Mar]土地购买 斜率优化dp
- [BZOJ1597][Usaco2008 Mar]土地购买(斜率优化dp)
- [BZOJ 1597][USACO 2008 Mar]土地购买(DP+斜率优化)
- 1597: [Usaco2008 Mar]土地购买 斜率优化dp
- BZOJ 1597: [Usaco2008 Mar]土地购买( dp + 斜率优化 )