随笔分类 - 斜率优化DP
摘要:题目大意: 将$n$个长方形分成若干部分,每一部分的花费为部分中长方形的$max_长*max_宽$(不是$max_{长*宽}$),求最小花费 思路: 首先,可以被其他长方形包含的长方形可以删去 然后我们按长方形的长度从小到大排序(排序后的长方形的宽度一定是从大到小) 设$f(i)$表示前i个长方形的
阅读全文
摘要:方程: $\Large f(i)=min(f(j)+\sum\limits_{k=j+1}^{i}(x_i-x_k)*p_k)+c_i$ 显然这样的方程复杂度为$O(n^3)$极限爆炸,所以我们要换一个方程 设$S(i)=\sum\limits_{k=1}^i(x_n-x_k)*p_k$且$A(i)
阅读全文
摘要:方程 $\Large f(i)=min(f(j)+(s(i)-s(j)-1-L)^2)$ 其中$s(i)$为i的前缀和再加上$i$ 对于某个$i$若$j$比$k$优,则 $\large f(j)+(s(i)-s(j)-L-1)^2<f(k)+(s(i)-s(k)-L-1)^2$ 展开可以化简成$\l
阅读全文
摘要:什么是斜率优化? 通常我们在做动态规划的时候,会遇到如下形式的方程 $\Large f(i)=min(f(j)+w(j,i))$ 对于i来说,什么时候取j比取t要好呢? 显然是当$f(j)+w(j,i)\le f(t)+w(t,i)$时 如果我们可以将式子化简成$\large\frac{A(j)-A
阅读全文
摘要:题目大意 将N个数分成M部分,使每部分的最大值与最小值平方差的和最小。 思路 首先肯定要将数列排序,每部分一定是取连续的一段,于是就有了方程 $\Large f(i,j)=min(f(i-1,k-1)+(a_j-a_k)^2)$ 其中$f(i,j)$表示前$j$个数分成$i$部分的最小值 解法一.四
阅读全文

浙公网安备 33010602011771号