斜率优化
y_immortal
蒟蒻蒟蒻
展开
-
洛谷3628 APIO2010特别行动队(斜率优化)
考虑最普通的dpdpdpdp[i]=max(dp[j]+a∗(sum[i]−sum[j])2+b∗(sum[i]−sum[j])+cdp[i]=max(dp[j]+a*(sum[i]-sum[j])^2+b*(sum[i]-sum[j])+cdp[i]=max(dp[j]+a∗(sum[i]−sum[j])2+b∗(sum[i]−sum[j])+cqwq由于演算纸扔掉了qwq所以直接给出...原创 2018-12-26 14:15:17 · 167 阅读 · 0 评论 -
hdu3507 斜率优化学习笔记
QWQ菜的真实。首先来看这个题。很显然能得到一个朴素的dpdpdp柿子dp[i]=max(dp[i],dp[j]+(sum[i]−sum[j])2)dp[i]=max(dp[i],dp[j]+(sum[i]-sum[j])^2)dp[i]=max(dp[i],dp[j]+(sum[i]−sum[j])2)但是因为n≤500000n\le 500000n≤500000,所以n2n^2n2一定...原创 2018-12-25 14:39:29 · 177 阅读 · 0 评论 -
洛谷3571 POI2014 SUP-Supercomputer (斜率优化)
一道神仙好题。首先看到有多组kkk,第一反应就是离线。考虑贪心。我们每次一定是尽量选择有儿子的节点。以便于我们下一次扩展。但是对于一个kkk,每次贪心的复杂度是O(n)O(n)O(n)总复杂度是O(nq)O(nq)O(nq),肯定过不了。qwq那我们只能来考虑一个快速求一个kkk的答案。感觉题解的柿子好神仙啊。这里定义f[i]f[i]f[i]表示k=ik=ik=i的时候的最小次数...原创 2018-12-29 08:43:04 · 218 阅读 · 0 评论 -
洛谷4056 [JSOI2009]火星藏宝图(斜率优化+dp)
qwq又要吐槽一句我菜的真实。由于网上很多O(nm)O(nm)O(nm)做法,这里就不做赘述了。我这里只写一下O(m2)O(m^2)O(m2)的做法。首先我们定义一个dp[i][j]dp[i][j]dp[i][j]表示到(i,j)(i,j)(i,j)这个坐标的岛的最大收益。然后我们考虑转移,首先对于同一列来说,只有截止到iii行之前的行数最大的那个点才有可能作为转移点。这样一个图,如果...原创 2018-12-28 17:02:54 · 215 阅读 · 0 评论 -
洛谷2120 [ZJOI2007]仓库建设(斜率优化dp)
感觉和锯木厂那个题很类似的。其实这个题还那个题唯一的区别就是dpdpdp转移式子中的fff变成了gggqwq不想多说了直接看我的前一篇题解吧qwq#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#in...原创 2018-12-28 07:45:57 · 144 阅读 · 0 评论 -
洛谷4360[CEOI2004]锯木厂选址 (斜率优化+dp)
qwq我感觉这都已经不算是斜率优化dpdpdp了,感觉更像是qwq一个下凸壳优化下凸壳优化下凸壳优化转移递推式子。qwq首先我们先定义几个数组sw[i]sw[i]sw[i]表示w[i]w[i]w[i]的前缀和val[i]=w[i]×d[i]val[i] = w[i]\times d[i]val[i]=w[i]×d[i]sum[i]sum[i]sum[i]表示val[i]val[i]va...原创 2018-12-27 19:57:46 · 156 阅读 · 0 评论 -
洛谷3648 [APIO2014]序列分割(斜率优化+dp)
首先对于这个题目。qwq存在一个性质就是,最终的答案只跟你的分割的位置有关,而和顺序无关。举一个小栗子a b ca\ b\ ca b c将这个东西分成两块。如果我们先分割ababab之间的话,ans=a∗(b+c)+b∗cans = a*(b+c) + b*cans=a∗(b+c)+b∗c如果先分割bcbcbc之间的话,ans=c∗(a+b)...原创 2018-12-27 17:01:39 · 298 阅读 · 1 评论 -
洛谷2900 [USACO08MAR]土地征用Land Acquisition (斜率优化+dp)
自闭的一批…为什么斜率优化能这么自闭。首先看到这个题的第一想法一定是按照一个维度进行排序。那我们不妨直接按照hih_ihi排序。我们令dp[i]dp[i]dp[i]表示到了第iii个矩形的答案是多少。之后我们会发现,对于dp[i]dp[i]dp[i]的转移dp[i]=dp[j−1]+h[j]∗mn[j][i]dp[i]=dp[j-1]+h[j]*mn[j][i]dp[i]=dp[j−1...原创 2018-12-27 16:48:37 · 224 阅读 · 0 评论 -
洛谷4072 SDOI2016征途 (斜率优化+dp)
首先根据题目中给的要求,推一下方差的柿子。v×m2=m×∑x2−2×sum×sum+sum∗sumv\times m^2 = m\times \sum x^2 - 2 \times sum \times sum +sum*sumv×m2=m×∑x2−2×sum×sum+sum∗sum所以ans=v∗m2=m×∑x2−sum∗sumans = v*m^2 = m\times \sum x^2 -...原创 2018-12-26 14:28:32 · 135 阅读 · 0 评论 -
洛谷3195 [HNOI2008]玩具装箱TOY(斜率优化+dp)
qwq斜率优化好题第一步还是考虑最朴素的dpdpdpdp=dp[j]+(i−j−1+sum[i]−sum[j])2dp=dp[j]+(i-j-1+sum[i]-sum[j])^2dp=dp[j]+(i−j−1+sum[i]−sum[j])2设f[i]=sum[i]+if[i]=sum[i]+if[i]=sum[i]+i那么考虑将上述柿子变成dp[i]=dp[j]+(f[i]−f[j]−1−...原创 2018-12-25 16:55:18 · 123 阅读 · 0 评论