一道斜率优化DP 首先,什么是斜率优化: 其实就是找斜率的方式将DP方程转换为y = kx+b的形式。 如果对于方程形如这样的 $F[i] = min{F[j] + Sum[i,j]} + k$(k为常数) 我们不能对其进行比较有效果的优化,因为它的转移,涉及到了关于i和关于j的一些数组,这时我们就 ...
题解 将费用提前计算可以得到状态转移方程: $F_i = \min(F_j + sumT_i * (sumC_i - sumC_j) + S \times (sumC_N - sumC_j)$ 把方程进行分离, 得到 $S\times sumC_j + F_j = sumT_i \times sum ...
分类:
其他好文 时间:
2018-08-19 20:12:52
阅读次数:
225
描述 给定一个数列 $a$, 分成若干段,每段至少有$k$个数, 将每段中的数减少至所有数都相同, 求最小的变化量 题解 易得到状态转移方程 $F_i = \min(F_j + sum_i - sum_j - (i - j ) \times a_(j+1) ) $ $ 0 <= j <= i - k ...
分类:
其他好文 时间:
2018-08-19 20:09:09
阅读次数:
200
首先按x从小到大排序,那么可得: f[i]=min{f[j]+x[i]*maxy[j+1..i]} 然而这样是$O(n^2)$的而且无法做优化。 然后我们考虑:如果对于某一点,存在另一点的x和y都比它大,那这个点是可以删掉不参与计算的(因为那个较大的点一定要被买,那只要把这两点放在一组里,较小的点是 ...
分类:
其他好文 时间:
2018-08-10 23:28:55
阅读次数:
307
首先推一波公式: 设f[t][i]为第t天以i为结尾,这时已经算了的最小公差$*m^2$ 设s[i]为1到i的和 $$f[t][i]=min\{f[t-1][j]+m*(s[i]-s[j]-\frac{s[n]}{m})\}^2$$ $$f[t][i]=min\{f[t-1][j]+\frac{(s ...
分类:
其他好文 时间:
2018-08-10 23:02:03
阅读次数:
128
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4709 课上讲的题,还是参考了博客...:https://www.cnblogs.com/GXZlegend/p/8615607.html 这道题和之前写的斜率优化不同的一点是用单调栈维护上凸壳 ...
分类:
Web程序 时间:
2018-07-21 20:33:35
阅读次数:
202
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1597 又一道斜率优化dp。负数让我混乱。不过仔细想想还是好的。 还可以方便地把那个负号放到x上。只要改一下slope里的一个负号,就变成正常舒服的递增了。 这道题的要点其实是一开始h=0。不能 ...
分类:
其他好文 时间:
2018-06-19 16:12:35
阅读次数:
186
题目大意: 经典题 数学分析 G(a,b)<sum[i]时 a优于b G(a,b)<G(b,c)<sum[i]时 b必不为最优 ...
分类:
其他好文 时间:
2018-06-10 11:40:16
阅读次数:
133