日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 學院 > 開發設計 > 正文

斜率優化

2019-11-10 20:12:37
字體:
來源:轉載
供稿:網友

http://www.lydsy.com/JudgeOnline/PRoblem.php?id=1010 Description P教授要去看奧運,但是他舍不下他的玩具,于是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。P教授有編號為1…N的N件玩具,第i件玩具經過壓縮后變成一維長度為Ci.為了方便整理,P教授要求在一個一維容器中的玩具編號是連續的。同時如果一個一維容器中有多個玩具,那么兩件玩具之間要加入一個單位長度的填充物,形式地說如果將第i件玩具到第j個玩具放到一個容器中,那么容器的長度將為 x=j-i+Sigma(Ck) i<=K<=j 制作容器的費用與容器的長度有關,根據教授研究,如果容器長度為x,其制作費用為(X-L)^2.其中L是一個常量。P教授不關心容器的數目,他可以制作出任意長度的容器,甚至超過L。但他希望費用最小. Input 第一行輸入兩個整數N,L.接下來N行輸入Ci.1<=N<=50000,1<=L,Ci<=10^7 Output 輸出最小費用 Sample Input 5 4 3 4 2 1 4 Sample Output 1

先列出n^2的dp: dp[i]=min(dp[j]+(sum[i]-sum[j]+i-j-1-L)^2) (j < i) 然后設循環中的k是最右解,j是普通解,列出不等式,化簡成一側是f【i】的,左側是/的形式: (dp[k]+(f[k]+c)^2-dp[j]-(f[j]+c)^2)/2*(f[k]-f[j])<=f[i] 每個點是( (dp[k]+(f[k]+c)^2), 2*f[k] )

本來是把正常小于i的所有j循環,找最大的k…然后現在為了快點找k 所以推出這個關系, 對于所有j和那個點連起來斜率都小于等于f[i]的就是k,于是用f[i]去找最右下的點。 顯然如果出現上凸的,用f[i]平移的話,最后一定不會是這個點,就沒用了。所以就是個下凸的凸包。。。維護上面的點即可,還是個單調隊列,不用二分找這個點,因為對于當前i滿足這個式子的k和j對于i+1。。。f[i+1]>f[i]。所以一定還滿足這個式子。。。就是個單調隊列了=。=從頭找,不合法的對后面的答案沒有用了,就刪掉(head++),找到第一個就一定是這個點,因為考慮圖形是斜率逐漸增大的,第一個找到的點就是最右下的!

#include <cstdio>#include <iostream>#include <cstring>typedef long long LL;using namespace std;int n;const int nn=51000;LL l,c[nn],L;LL dp[nn];LL sum[nn];struct pll{ long long first,second; int pos;} stak[nn],tmp;int head,last;int cross(pll a,pll b,pll c){ return (b.first-a.first)*(c.second-a.second)-(c.first-a.first)*(b.second-a.second) > 0;}LL read(){ LL x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}void add(LL x,LL y,int i){ // cout <<"x = "<<x <<" y = "<<y<<endl; while(last > head){ tmp.first = x,tmp.second = y,tmp.pos = i; if(cross(stak[last-1],stak[last],tmp)) break; last--; } stak[++last].first = x; stak[last].second = y; stak[last].pos = i; // cout << stak[last].first <<" "<<stak[last].second<<endl;}void init(){// scanf("%d",&n);// cin>>l;// l++;// for(int i = 1 ;i <= n;i++){// cin>>c[i];//scanf("%I64d",&c[i]);// sum[i]=sum[i-1]+c[i];// }// for(int i = 1; i <= n ; i++)// sum[i] += i; n=read();L=read();l=L+1; for(int i=1;i<=n;i++)c[i]=read(); for(int i=1;i<=n;i++)sum[i]=sum[i-1]+c[i]; for(int i=1;i<=n;i++)sum[i]+=i;}double sp(pll k,pll j){ // cout <<" "<<(j.first-k.first)<<endl; return (j.second-k.second)/(j.first-k.first);}double check(int j,int k){ return (dp[k]+(sum[k]+l)*(sum[k]+l)-dp[j]-(sum[j]+l)*(sum[j]+l))/(2.0*(sum[k]-sum[j]));}void sov(){ dp[0]=0; head = 1; last = 1; stak[1].first = stak[1].second = stak[1].pos = 0; for(int i=1;i<=n;i++){ // cout <<i <<endl; while(head < last && check(stak[head].pos,stak[head+1].pos)<=sum[i]) head++; int t = stak[head].pos; // cout<<"t = "<<t<<endl; // printf("sum[%d] = %I64d sum[%d] = %I64d /n",i,sum[i],t,sum[t]); dp[i] = dp[t]+(sum[i]-sum[t]-l)*(sum[i]-sum[t]-l); // cout<<"dp = "<<dp[i]<<endl; // add(2*sum[i],dp[i]+(sum[i]+l)*(sum[i]+l),i); tmp.first = 2*sum[i];tmp.second = dp[i]+(sum[i]+l)*(sum[i]+l);tmp.pos = i; while(head < last && check(stak[last].pos,tmp.pos)< check(stak[last-1].pos,stak[last].pos))last--; stak[++last]=tmp; // cout <<"y = "<<dp[i]+(sum[i]+l)*(sum[i]+l) << " x = "<<2*sum[i]<<endl; }// for(int i = 1; i <= n ; i++)// printf("dp[%d] = %I64d/n",i,dp[i]); cout<<dp[n]<<endl;//printf("%I64d/n",dp[n]);}int main(){ init(); sov(); return 0;}

特別行動隊。 http://www.lydsy.com/JudgeOnline/problem.php?id=1911 上凸包,其實可以直接判斷等式,而不用叉乘判斷凸包,都一樣。

#include <cstdio>#include <iostream>#include <cstring>using namespace std;int n,A,B,C,head,last;const int maxn = 1e6+10;long long a[maxn],sum[maxn],f[maxn],q[maxn];void init(){ scanf("%d",&n); scanf("%d%d%d",&A,&B,&C); for(int i = 1; i <= n ; i++){ scanf("%lld",&a[i]); sum[i] = sum[i-1]+a[i]; }}double check(int j,int k){ return (double)(f[k]-f[j]+A*((sum[k]*sum[k])-(sum[j]*sum[j]))+B*(sum[j]-sum[k]))/(2.0*(sum[k]-sum[j])*A);}void sov(){ head = last = 1;q[1] = 0; for(int i = 1; i <= n ; i++){ while(head < last && check(q[head],q[head+1]) <= sum[i]) head++; f[i] = f[q[head]]+A*(sum[i]-sum[q[head]])*(sum[i]-sum[q[head]])+B*(sum[i]-sum[q[head]])+C; while(head < last&& check(q[last-1],q[last]) > check(q[last],i)) last--; q[++last] = i; } printf("%lld/n",f[n]);}int main(){ init(); sov();}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
91精品国产综合久久精品| av免费看在线| 国产福利一区二区精品秒拍| 国产欧美日韩精品在线观看| 国产三级精品网站| 亚洲免费视频一区| 国产日韩av高清| 日韩精品 欧美| 日韩精品在线第一页| 中文字幕在线视频久| 久久视频一区| 国产高清精品二区| 麻豆精品99| 久久久久久久久99精品| 国产午夜精品久久| 国产成人综合精品| 国产色在线视频| 久久精品视频免费看| 粉嫩粉嫩芽的虎白女18在线视频| 国产午夜在线观看| 日韩在线观看一区| 欧美日韩综合视频网址| 国产不卡在线| 91久久精品网| 一区二区不卡在线| 中文字幕在线高清| 日韩视频专区| aaa欧美日韩| 一区二区三区在线播放视频| 中文字幕视频在线观看| 日韩欧美综合在线| aaa免费看大片| 精品国产999| 欧美三级精品| 二区视频在线观看| 中文字幕亚洲一区在线观看| 一区二区不卡在线| 欧美激情视频一区二区三区在线播放| 久久久综合av| 欧美日韩在线第一页| 国产一级免费在线观看| 国产在线视频一区二区| 在线欧美一级视频| 国产专区中文字幕| 欧美熟妇乱码在线一区| 国产成人中文字幕| 91精品国产91久久久久久不卡| 日韩欧美综合| 在线观看av的网站| 免费看ww视频网站入口| 91精品国产综合久久久久| 亚洲综合日韩| 91精品日本| 亚洲一区日韩在线| 亚洲三级国产| 中文字幕在线高清| 国产在线一区二区视频| 欧美人妻一区二区三区| 韩国v欧美v日本v亚洲| av免费观看国产| 国产一区二中文字幕在线看| 一区二区视频免费看| 欧美1234区| 日韩欧美在线精品| 久久在线91| 中文字幕欧美亚洲| 91精品久久久久久蜜臀| 欧美久久在线观看| 欧美日韩高清不卡| 99精品视频99| 日韩欧美三级| 亚洲一区中文在线| 午夜一区二区视频| 成人福利一区| 日韩视频 中文字幕| 国产色在线 com| 在线欧美一级视频| 色综合影院在线| 欧美日韩三级一区| 国产高潮久久久| 正在播放日韩精品| 欧美日韩高清在线| а√天堂8资源中文在线| 日韩欧美一二三| 久久riav| 久久久综合精品| 成人ww免费完整版在线观看| 久久99蜜桃精品| 国产日韩精品在线| 欧美日韩一级视频| 国产一区精品| 欧美中文字幕视频在线观看| 国产手机视频一区二区| 日韩在线视频免费观看高清中文| 精品999视频| 欧美亚洲免费高清在线观看| 久久久久黄色| 搞黄在线观看| 欧美日韩亚洲国产综合| 国产在线观看色| 91精品国产色综合久久不卡蜜臀 | 色猫猫国产区一区二在线视频| 黄色国产在线| 在线观看国产一级片| 不卡视频一区二区| 国产在线日韩欧美| 亚洲欧美日本另类| 日韩欧美中文字幕精品| 午夜国产欧美理论在线播放| 日韩中文欧美| 日韩精品三级| 综合激情国产一区| 中文天堂在线一区| 一本一道综合狠狠老| 国产成人精品免费在线| 欧美国产一区视频在线观看| 亚洲一区在线观看网站| 国产日韩av一区| 久久99久久久久| 久久夜色精品国产欧美乱极品 | 在线国产91| 亚洲一区资源| 在线精品观看| 91精品国产欧美日韩| 欧美日韩国产不卡在线看| 欧美日韩在线视频一区| 91精品网站| 国产黄色在线| 亚洲欧美视频一区二区三区 | 天堂在线中文| 色国产在线视频| 国产1卡2卡三卡四卡网站| 国内激情久久| 日本亚洲欧美三级| 成人久久在线| 中文字幕日韩欧美| 午夜国产福利一区二区| 国产欧美自拍一区| 91精品在线观看视频| 亚洲一二三不卡| 国产日韩专区| 欧美日韩免费高清| 久久久精品网| 中文网丁香综合网| 亚洲午夜久久| 欧美日韩免费不卡视频一区二区三区| 欧美中文字幕视频在线观看| 国产一卡二卡3卡4卡四卡在线| 一区二区日韩免费看| 热久久精品国产| 日韩久久久精品| 成人一区二区不卡免费| 亚洲综合中文字幕在线| 最近中文字幕第一页| 日韩不卡一二区| 日韩欧美中文在线| 精品在线91| 欧美日韩在线观看一区| 国产黄色一区| av中文天堂在线| 国产日韩中文字幕在线| 在线日韩精品视频| 久久中文精品| 国产色在线 com| 亚洲一区不卡在线| 日韩欧美国产网站| 国产成人精品三级| 伊人伊成久久人综合网小说| 国产一级免费看| 中文精品在线观看| 91精品无人成人www| 欧美一级免费观看| 国产激情久久久| 91久久精品网| 91精品国产综合久久蜜臀| 精品网站999| 欧美国产一级| 日韩三级视频在线看| 日韩精品首页| 中文字幕亚洲二区 | 欧美日韩亚洲视频| 一区二区三区久久| 欧美精选午夜久久久乱码6080| 在线看欧美日韩| 精品日韩欧美在线| 日韩三级精品| 一区二区三区精品久久久| 日韩欧美在线网址| 91精品视频在线| 国产福利在线看| 精品三级在线| 亚洲黄色片在线观看| 日韩不卡一二区| av免费不卡国产观看| 高清不卡一区二区| 欧美一级免费在线观看| 久艹在线视频| 精品久久91| 亚洲素人一区二区| www.久久久精品| 在线观看免费国产小视频| 久久精品夜夜夜夜久久| 免费视频二区| 国产欧美日产一区| 中文字幕五月天| 亚洲成年人在线播放| 一区二区日韩av| 国产日韩精品在线看| 中文字幕欧美亚洲| 一本大道一区二区三区| 日韩亚洲欧美中文三级| 午夜国产欧美理论在线播放| 国产日韩在线亚洲字幕中文| 视频一区二区中文字幕| 中文字幕在线视频精品| av免费观看国产| 日韩欧美中文第一页| 亚洲免费精品| 国内精品99| 亚洲一级网站| 日韩欧美在线精品| 亚洲九九精品| 免费视频久久| 日韩欧美一卡二卡| 欧美成人一区二区| 日韩欧美在线网站| 久久久久久99精品| 亚洲免费在线视频一区 二区| 中文字幕在线视频久| 国产不卡在线| 99热最新网址| 国产不卡精品在线| 久久精品欧美日韩精品| 一二三区精品视频| 中文字幕亚洲欧美| 亚洲第一精品在线| 欧美久久久久久蜜桃| 精品久久久久久无| 一区二区三区精品久久久| 亚洲大片免费看| 国产绿帽一区二区三区| 国产天堂素人系列在线视频| 99色在线视频| 日韩精品视频免费在线观看| 日韩欧美国产一二三区| 日韩精品免费观看视频| 在线视频你懂得一区| 在线视频不卡国产V| 黄色国产网站在线播放| 在线亚洲免费| 欧美日韩国产在线播放| 91av久久久| 亚洲免费精品| 亚洲综合在线小说| 91精品国产自产观看在线| 欧美三级在线看| 亚洲综合在线不卡| 国产裸体歌舞团一区二区| 精品久久久三级| 日韩中文字幕在线一区| 欧美日韩高清一区二区不卡| 亚洲福利精品视频| 中文字幕日韩高清| 高清中文字幕在线| 日韩一级在线免费观看| 日韩三级精品| 免费国产h视频在线观看86| 国产一区在线不卡| 欧美在线观看视频一区| 狠狠色综合色区| 国产一区激情在线| 欧美国产中文| 日韩精品综合在线| 一区二区三区在线播| 亚洲一区日韩在线| 91最新在线| 国产一级片在线播放| 亚洲高清视频在线| 日韩三级免费观看| 中文在线中文字幕| 在线观看av的网站| 1区2区在线| 99久热re在线精彩视频| 99久久精品国产亚洲| 欧美日韩精品在线观看| 中文字幕亚洲一区二区av在线| 日韩精品视频在线看| 不卡专区在线| 日韩精品首页| 日韩av一区二| 日韩三级一区| 亚洲三级免费看| 亚洲一区在线观看网站| 亚洲第一视频网站| 欧美日韩国产在线看| 黄色一区二区在线| 一本一道久久a久久精品综合蜜臀| 日韩欧美国产综合| 色综合久久六月婷婷中文字幕| 中文字幕精品www乱入免费视频| 欧美日韩一级黄| 91精品婷婷国产综合久久竹菊 | 国产欧美日韩精品在线观看| 欧美日韩精品不卡| 欧美日韩在线视频免费观看| 精品亚洲综合| 中文字幕精品www乱入免费视频| 精品视频123区在线观看| 国产日韩av一区| 国产三级中文字幕| 中文字幕在线观看精品| 欧美国产91| 国产午夜精品视频免费不卡69堂| 日韩wumaV| 美女尤物久久精品| 在线视频不卡国产V| 国产对白在线| 国产在线看一区| 国自产拍在线网站网址视频| 中文字幕日韩欧美在线视频| 日韩精品福利视频| 深夜福利亚洲| 中文字幕线观看| 91精品久久久久久久久久| 一区二区三区在线|网站| 亚洲免费福利视频| 国产一卡2卡3卡四卡网站| 久久精品一二三| 国产黄色在线| 欧美婷婷精品激情| 欧美日韩精品在线| 日韩中文字幕视频网| 中文精品在线观看| 欧美日韩中文字幕精品| av三级在线观看| 日韩 欧美 中文| 欧美日韩高清在线| 精品国产免费视频| 本道综合精品| 国产性一级片| 精品一区二区在线观看视频| 一区二区三区在线播放欧美| 中文亚洲免费| 亚洲午夜av| 中文字幕在线高清| 被陌生人带去卫生间啪到腿软| 精品免费久久久| 国产一区免费视频| 精品久久久精品| 国产拍揄自揄精品视频麻豆| 日韩欧美一卡二卡| 一本大道一区二区三区| 天天综合天天添夜夜添狠狠添| 日韩精品久久久| 欧美区高清在线| 欧美日韩国产91| 亚洲高清在线免费| 日韩欧美三级| 精品久久人人做人人爽| 日韩精品在线看| 欧美日韩国产在线播放| 五月综合激情日本mⅴ| 欧美日韩在线看| 国产一区高清视频| av免费在线观看网址| 亚洲成av人片一区二区密柚| 日韩免费视频一区二区| 一区精品在线播放| 国产一级片播放| 日韩欧美字幕| 久久福利视频一区二区| 日韩wumaV| 日韩亚洲一区在线| 色综合久久88色综合天天免费| 日韩一级在线视频| 日韩三级高清在线| 久久久久久91| 精品福利二区三区| 日韩欧美不卡视频| 日韩欧美国产午夜精品| 欧美三级在线视频| 亚洲国产专区| 日韩欧美综合视频| 国产成人精品三级| 国产欧美日韩最新| 日韩av不卡在线观看| 99精品一级欧美片免费播放| www中文字幕| 日韩美女中文字幕| 国产美女主播视频一区| 中文字幕在线观看网址| 欧美三级在线播放| 日韩不卡在线观看| 国产亚洲一级| 日韩在线高清| 99综合精品久久| 成人xxxx| 中文国产字幕在线观看| 国产蜜臀在线| 最近中文字幕第一页|