单调队列优化:
dp[i]=dp[j]+f[i] i-j有范围
队列一维维护i 的位置(i-j有范围) 另一维维护dp【i】(最值)
注意有范围啊 i-j 有范围
斜率优化:
dp[i]=dp[j]+f[i]*f[j] 说白了 k 可以更新 i 但不一定能更新 j 因为与i j 本身有关
遇到O(N)的DP 即n=1000000啥的
一般就是这俩种DP
判断看单调队列优化 i-j 有范围
斜率优化 dp方程和自己有关(二次系数有i 和 j)
单调队列优化:
dp[i]=dp[j]+f[i] i-j有范围
队列一维维护i 的位置(i-j有范围) 另一维维护dp【i】(最值)
注意有范围啊 i-j 有范围
斜率优化:
dp[i]=dp[j]+f[i]*f[j] 说白了 k 可以更新 i 但不一定能更新 j 因为与i j 本身有关
遇到O(N)的DP 即n=1000000啥的
一般就是这俩种DP
判断看单调队列优化 i-j 有范围
斜率优化 dp方程和自己有关(二次系数有i 和 j)