![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
斜率优化
EMber _
人但有追求,世界亦会让路。
展开
-
JZOJ5347【NOIP2017提高A组模拟9.5】遥远的金字塔 斜率优化 DP
题意:给你一个金字塔(每层长度不严格递减),问你用k个矩形覆盖,最多的面积。 n<=2e4,m<=100.首先n^2k的dp随便搞搞就可以了。 然后问题是怎么优化。 我们设f[i]选了p个,g[i]选了p-1个矩形的最多面积。 那么明显有: f[i]=max(g[j]+len[i]∗(i−j))f[i]=max(g[j]+len[i]*(i-j)) 设有决策点j,k(k<j)(k<j),原创 2017-09-06 20:40:31 · 309 阅读 · 0 评论 -
bzoj1010 [HNOI2008]玩具装箱toy 斜率优化 DP
斜率优化第二题。。 题意自不用说,传送门 还是一样的套路啊,因为决策点过多,所以我们不可能枚举所有决策点,然后就要对决策点进行筛选,只有优于已经选择了的决策点的决策点才能被选择。 问题是怎么才算优于?就要斜率优化。 如果暴力枚举,n^2,明显可以列出DP式子。 dp[i]=min(dp[j]+(sum[i]−sum[j]+i−j−1−l)2)dp[i]=min(dp[j]+(sum[i]-原创 2017-09-07 13:04:38 · 243 阅读 · 0 评论 -
JZOJ5390. 【NOIP2017提高A组模拟9.26】逗气 单调队列
题意:给一个数轴,有两种点,每个点都有一个坐标和权值,设第一种为ax,ay,第二种是dx,dy。那么对每一个第二种点,对于所有第一种点,求max(ay−|ax−bx|∗by)max(ay-|ax-bx|*by),n<=2e5.其实很套路的题目,因为单调队列的思想出了点问题= =直接套用斜率优化的那种方法就好了,不然会有问题。。 首先化简式子,由于有绝对值所以拆开,分成左右两部分搞,这个显然。 然原创 2017-09-27 18:05:36 · 364 阅读 · 0 评论 -
JZOJ5415. 【NOIP2017提高A组集训10.22】公交运输 DP
题意不说了。有点鬼畜,比赛只会50分,花了30分钟思考一无所获,连按模分组都没想到迟早退役。 然后花了十分钟打50分扔了这题。巨亏。 其实比赛还剩一个小时的时候发现是斜率优化,但是没时间打所以就放了。。 事实上这并不是简单的斜率优化,,因为如果直接做不能保证他的斜率是单调递增的。 首先先把点按模分组,只有%c相同的点才能被到达。 然后就可以直接斜率优化了,每次先枚举c,对于栈中的点,我们把原创 2017-10-23 21:39:29 · 376 阅读 · 0 评论