題目:
傳送門
思路:首先考慮暴力,那麼設dp[i]為以前i號元素的最小值
s[i]為前i號元素的字首和
那麼轉移方程即為dp[i]=min
顯然樸素的時間複雜度為o(n^2)
那麼我們化簡一下式子
設有兩個點a,b向i進行轉移,且a比b優
那麼dp[a]+(i-a-1+s[i]-s[a]-l)^2推導過程此處省略
設x[i]=s[i]+1,y[i]=(x[i]+l+1)^2
2*y[i]>=(dp[a]+x[a]-dp[b]-x[b])/(y[a]-y[b])
以此為基礎,這道題的**就很容易碼出來了
#includeusing namespace std;
long long n,l;
long long dp[50005];
long long s[50005];
long long head;
long long tail;
long long x[50005];
long long y[50005];
long long q[50005];
double check_=1;
long long pf(long long x)
double get_k(long long a,long long b)
int main()
y[0]=pf(l+1);
for(int i=1;i<=n;i++)
dp[i]=dp[q[head]]+pf(x[i]-x[q[head]]-l-1);
while(headq[++tail]=i;
}cout
}
斜率優化DP 玩具裝箱
hnoi2008 玩具裝箱toy time limit 1000ms memory limit 165536k total submit 5 accepted 5 description p教授要去看奧運,但是他捨不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意...
玩具裝箱TOY 斜率優化DP
更新提示 第一次更新 正文 p教授要去看奧運,但是他捨不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。p教授有編號為 1.n 的 n 件玩具,第 i 件玩具經過壓縮後變成一維長度為 c i 為了方便整理,p 教授要求在乙...
洛谷3195玩具裝箱(斜率優化)
題目描述 p教授要去看奧運,但是他捨不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。p教授有編號為1.n的n件玩具,第i件玩具經過壓縮後變成一維長度為ci.為了方便整理,p教授要求在乙個一維容器中的玩具編號是連續的。同時...