斜率优化
ModestCoder_
一个modest的coder
展开
-
【题解】LuoGu3628:[APIO2010]特别行动队
原题传送门斜率优化令si=∑j=1ixjs_i=\sum_{j=1}^{i}x_jsi=∑j=1ixj写出暴力DP方程:dpi=max(dpj+a(si−sj)2+b(si−sj)+c)dp_i=max(dp_j+a(s_i-s_j)^2+b(s_i-s_j)+c)dpi=max(dpj+a(si−sj)2+b(si−sj)+c)按照套路如果存在两个决策x,y(x&am...原创 2019-08-07 22:00:33 · 145 阅读 · 0 评论 -
【题解】LuoGu4360:[CEOI2004]锯木厂选址
原题传送门本题跟这道题有点像但是做法是不一样的,只是斜率优化令si=∑j=1iwj,disi=∑j=indj,tot=∑i=1nwi∗disis_i=\sum_{j=1}^{i}w_j,dis_i=\sum_{j=i}^{n}d_j,tot=\sum_{i=1}^{n}w_i*dis_isi=∑j=1iwj,disi=∑j=indj,tot=∑i=1nwi∗disi枚举第...原创 2019-08-08 12:03:53 · 162 阅读 · 0 评论 -
【题解】LuoGu2120:[ZJOI2007]仓库建设
原题传送门初学斜率优化好题先写出O(n2)O(n^2)O(n2)DP预处理si=∑j=1ixjpj,spi=∑j=1ipjs_i=\sum_{j=1}^{i}x_jp_j,sp_i=\sum_{j=1}^{i}p_jsi=∑j=1ixjpj,spi=∑j=1ipj转移方程:dp[i]=min(dpj−si+sj+xi(spi−spj))+cidp[i]=min(dp_j-s_...原创 2019-08-06 19:18:28 · 906 阅读 · 0 评论 -
【题解】LuoGu3195:[HNOI2008]玩具装箱TOY
原题传送门斜率优化令si=∑j=1icjs_i=\sum_{j=1}^{i}c_jsi=∑j=1icj一个非常显然的暴力dp:dpi=min(dpj+(i−j−1+si−sj−L)2)dp_i=min(dp_j+(i-j-1+s_i-s_j-L)^2)dpi=min(dpj+(i−j−1+si−sj−L)2)令Fi=si+i,Mi=si+i−1−LF_i=s_i+i,M_i=...原创 2019-08-07 12:16:09 · 190 阅读 · 0 评论 -
【题解】hdu3507:Print Article
原题传送门斜率优化令si=∑j=1icjs_i=\sum_{j=1}^{i}c_jsi=∑j=1icj可以写出一个非常显然的dp方程:dpi=min(dpj+(si−sj)2)+Mdp_i=min(dp_j+(s_i-s_j)^2)+Mdpi=min(dpj+(si−sj)2)+M接下来固定套路设两个决策x,y(x>y)x,y(x>y)x,y(x...原创 2019-08-07 18:06:55 · 159 阅读 · 0 评论 -
【题解】LuoGu3648:[APIO2014]序列分割
原题传送门斜率优化可以证明得分与分割顺序无关(然而我不会)令si=∑j=1iajs_i=\sum_{j=1}^{i}a_jsi=∑j=1iaj得到一个很显然的暴力dpdpi,j表示到第i个数,分割了j次dp_{i,j}表示到第i个数,分割了j次dpi,j表示到第i个数,分割了j次dpi,j=max(dpk,j−1+sk(si−sk))dp_{i,j}=max(dp_{k,j-1...原创 2019-08-10 09:22:41 · 178 阅读 · 0 评论 -
【题解】LuoGu2900:[USACO08MAR]土地征用Land Acquisition
原题传送门如果一个土地的长宽分别小于另外一个,那么这个是没用的按照长度为第一关键字从小到大,宽度为第二关键字从大到小排个序可以用单调栈处理出这样一些土地:长度递增,宽度递减然后总是选取一段连续的土地进行购买,因为如果你选了两个土地,那么这两个土地中间的土地可以不花费代价的顺带购买然后就可以dp了令li,wil_i,w_ili,wi表示长宽,dpidp_idpi表示选到第i个的最小...原创 2019-08-10 15:53:12 · 178 阅读 · 0 评论 -
[题解]LuoGu3299:[SDOI2013]保护出题人
原题传送门这并不是一道dp对于每个iii,答案是ansi=max(sumi−sumj−1xi+(i−j)d)ans_i=max(\frac{sum_i-sum_{j-1}}{x_i+(i-j)d})ansi=max(xi+(i−j)dsumi−sumj−1)其中sumi=∑j=1iajsum_i=\sum_{j=1}^{i}a_jsumi=∑j=1iaj可以斜率优化,因为答...原创 2019-08-12 12:25:34 · 151 阅读 · 0 评论 -
【题解】LuoGu4072:[SDOI2016]征途
原题传送门首先得推一推式子令sumi=∑j=1iajsum_i=\sum_{j=1}^{i}a_jsumi=∑j=1iajans=(v1−sumnm)2+(v2−sumnm)2+...+(vm−sumnm)2mans=\frac{(v_1-\frac{sum_n}{m})^2+(v_2-\frac{sum_n}{m})^2+...+(v_m-\frac{sum_n}{m})^2}{m}...原创 2019-09-08 20:56:01 · 183 阅读 · 1 评论