這個東西學一次忘一次,寫一個筆記加深記憶。
斜率最佳化中,又下列轉移式:
\[dp(i) = dp(j) + c(i, j) + b
\]
假設我們要求 \(dp(j) + c(i, j)\) 的最大值,其中 \(c(i, j)\) 是一個關於 \(i\) 和 \(j\) 的一次函式。
接著我們有:
\[c(i, k) < c(i, j)
\]
而由於 \(c\) 是一個關於 \((i, j)\) 的一次函式,那麼可以寫成下列形式:
\[c(i, j) = b(j) + f(i)g(j)
\]
接著展開得:
\[b(k) + f(i)g(k) < b(j) + f(i)g(j)
\]
移項得:
\[f(i) < \dfrac{g(j) - g(k)}{b(j) - b(k)}
\]
這個東西相當於兩點的斜率,顯然 \(f(i)\) 取在上凸包時最優。