Land Acquisition G

这题一眼DP,但是题目没说必须要连续划分,而这种序列DP是肯定要连续划分的,所以我们要用贪心啥的改变一下序列的顺序然后进行连续划分

我们发现,如果一个长方形的长和宽都小于等于另一个长方形的长和宽,那么这个长方形是可以完全不用考虑的。因为对任意一种方案,我们都可以把这个长方形放在另一个长方形所在的组别(如果这两个长方形不在同一个组的话)而不影响答案

所以我们以长为第一关键字,宽为第二关键字从大到小排序,然后去除无用矩形(可以想想怎么做,具体见洛谷提交代码,非常easy),剩下的长方形的长一定单调递减,宽一定单调递增

然后我们就可以猜测此时可以连续划分了

证:如果有一种方案不连续,我们假设\([p,l]\)是一组,然后\([l+1,r]\)不是这一组(可能是其他多个组的混合),然后第\(r+1\)个是这个组的,那么我们将\([l+1,r]\)的长方形全部放在这个组,答案不会更差。因为如果某一组全在\([l+1,r]\)中,那么这一组的费用在改变之后就不用计算了;如果某一组的开头在\([l+1,r]\)中但是结尾不在,那么这一组的开头在改变之后一定也会在\(r+1\)之后,而长度是单调递减的,所以这一组的费用也减少了

其实我最开始证明的时候想的是利用冒泡排序交换,但是这里启发我们,不要一直想着交换,如果可以自由分配组别的话,可以考虑直接改变组别

然后DP方程就很简单了,写出来就知道是斜率优化,而且方程也不难

这道题目就告诉我们,如果以后出现了这种二维属性的情况,考虑完全包含,并且去除无用元素之后,两个属性一个递增一个递减

posted @ 2024-03-02 22:30  最爱丁珰  阅读(1)  评论(0编辑  收藏  举报