
斜率优化
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
Wood Processing 2019牛客多校 wqs二分
https://ac.nowcoder.com/acm/contest/890/J当年队友过的,斜率优化部分很水,然而据说可以wqs二分优化掉一维,回来补一补nk的斜率优化DP没什么好说的,直接每次多一段,显然我们可以按照高度从低到高或者从高到低排序,这样肯定是最优的这题nk可以过的,然而如果n=1e5,k=1e5的时候,就必须要wqs二分优化掉一维了,我们给每多出一段加上一个代价mid,显然这个代价越大,最后分段就越少,那么我们去找到恰好分k段的时候答案就是dp[n]-mid*k但是wqs原创 2020-10-07 23:14:02 · 281 阅读 · 0 评论 -
hdu3507 Print Article
http://acm.hdu.edu.cn/showproblem.php?pid=3507可以很容易得写出线性dp转移dp[i]=min{(s[i]−s[j])2+dp[j]+M)}(j∈[0,i−1])dp[i]=min\{ (s[i]-s[j])^2+dp[j]+M)\}(j\in[0,i-1])dp[i]=min{(s[i]−s[j])2+dp[j]+M)}(j∈[0,i−1]),其中s[]为前缀和数组那么直接把平方拆开,把只与j有关的放到斜率优化dp式子的左边。可以得到式子dp[j]+s[j原创 2020-08-24 18:31:41 · 156 阅读 · 0 评论 -
BZOJ4518 洛谷p4072 [SDOI2016]征途
https://www.luogu.com.cn/problem/P4072其实我是在wqs二分里面看见这题的,然而我发现斜率优化可以秒了然而一开始搞错了方差公式,后来发现要除以一个m,于是想不清楚为什么一定是整数了。。。不过写了一发就过了,也不想纠结我们先假设不除m,len为总长度设每一段长度为ai,那么它的方差*m*m等于,ai^2*m^2-2*m*len*ai+len*len...原创 2020-03-08 15:20:24 · 199 阅读 · 0 评论 -
bzoj4709: [Jsoi2011]柠檬 洛谷P5504
https://www.lydsy.com/JudgeOnline/problem.php?id=4709https://www.luogu.com.cn/problem/P5504这题跟之前的单调队列维护的斜率不太一样。。。直接维护一个单调栈设dp[i]为前i个分段的最大值,那么转移到dp[i]的时候,必须选择a[i]作为s0,因为不选择a[i]的话,多出这个a[i]就没有意义。...原创 2020-02-25 22:07:34 · 187 阅读 · 0 评论 -
洛谷P4360[CEOI2004]锯木厂选址
https://www.luogu.com.cn/problem/P4360做两遍dp,dp[k][i]表示前i个位置放k个锯木厂的最小值先把整个顺序反过来,那么0的位置就是山脚的锯木厂设sum[i],f[i]是sum[i]w[i]前缀和,f2[i]是w[i]的前缀和dp[1][i]=f[i]-f[k]-sum[k+1](f2[i]-f2[k])+dp[0][k]展开成f2[k...原创 2020-02-21 17:44:42 · 217 阅读 · 0 评论 -
bzoj1911 [Apio2010]特别行动队 洛谷P3628
https://www.lydsy.com/JudgeOnline/problem.php?id=1911一维斜率优化大概都是这种形式。。。设dp[i]为前i个分组的最大值dp[i]=dp[k]+a(sum[i]-sum[k])^2+b(sum[i]-sum[k])+c-asum[k]^2+bsum[k]-dp[k]= -2asum[i]sum[k] +asum[i]^2+bsum[...原创 2020-02-21 15:02:57 · 892 阅读 · 0 评论 -
洛谷P2900 [USACO08MAR]土地征用Land Acquisition
https://www.luogu.com.cn/problem/P2900可以想到,我们只关注对答案有贡献的物品,那么对于一个物品的w和l都<=另一个,那么这个物品可以完全合并到另一个物品的组里面去,他不用背考虑。于是我们按w从小到大第一关键字,l从大到小第二关键字,每个相同的w只取最大的,然后单调栈搞出个w从小到大,l从大到小的序列。我们知道肯定是w越小的配l越大的比较好,所...原创 2020-02-20 23:07:46 · 163 阅读 · 0 评论 -
bzoj1010 [HNOI2008]玩具装箱toy
https://www.lydsy.com/JudgeOnline/problem.php?id=1010时隔2年我终于把这题过了。。。。当时写的代码还是naive。。。https://blog.youkuaiyun.com/liufengwei1/article/details/79232793安利一下捧杯爷的讲课https://www.bilibili.com/video/av62726813...原创 2020-02-12 18:27:29 · 132 阅读 · 0 评论