亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

[POJ2728] Desert King

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

題意

n個點有三維坐標,沒兩點之間有一條邊,花費為兩點之間的高度差,獲利為兩點之間水平直線距離。最小化 花費和 / 獲利和

題解

01分數規劃問題,最優比率生成樹模型,最大化或最小化 ∑value/∑cost,令value=花費,cost=距離。最小化其比值,講解在寫在這一篇中 兩種算法,二分法和Dinkelbach迭代。 二分精度設為至少1E-6才過_(:зゝ∠)_ 另外,二分上界大致設在 40 ~ 100W之間,精度1E-5可過

但是講道理上界應該老老實實設為 1000W 對不對?因為比賽不是刷題

否則這組數據

input:20 0 01 0 100000000output:10000000

肯定WA嘛

代碼

1:二分法1822MS

/// by ztx/// blog.csdn.net/hzoi_ztx//#include <bits/stdc++.h>// minimize sumcost / sumdistance// minimize sumvalue / sumcost// value:cost// cost:distance#define Rep(i,l,r) for(i=(l);i<=(r);i++)#define rep(i,l,r) for(i=(l);i< (r);i++)#define Rev(i,r,l) for(i=(r);i>=(l);i--)#define rev(i,r,l) for(i=(r);i> (l);i--)#define Each(i,v) for(i=v.begin();i!=v.end();i++)#define r(x) read(x)typedef long long ll ;typedef double lf ;int CH , NEG ;template <typename TP>inline void read(TP& ret) { ret = NEG = 0 ; while (CH=getchar() , CH<'!') ; if (CH == '-') NEG = true , CH = getchar() ; while (ret = ret*10+CH-'0' , CH=getchar() , CH>'!') ; if (NEG) ret = -ret ;}#define maxn 1010LL#define infi 100000000LL#define eps 1E-8F#define sqr(x) ((x)*(x))template <typename TP>inline bool MA(TP&a,const TP&b) { return a < b ? a = b, true : false; }template <typename TP>inline bool MI(TP&a,const TP&b) { return a > b ? a = b, true : false; }int n;int x[maxn], y[maxn], h[maxn];lf v[maxn][maxn], c[maxn][maxn];bool vis[maxn];lf w[maxn];inline lf PRim(lf M) { int i, j, k; lf minf, minw; memset(vis,0,sizeof vis); Rep (i,2,n) w[i] = v[1][i]-M*c[1][i]; vis[1] = true, minf = 0; rep (i,1,n) { minw = infi; Rep (j,1,n) if (!vis[j] && w[j]<minw) minw = w[j], k = j; minf += minw, vis[k] = true; Rep (j,1,n) if (!vis[j]) MI(w[j],v[k][j]-M*c[k][j]); } return minf;}int main() { int i, j; lf L, M, R; lf maxv, maxc, minv, minc; while (scanf("%d", &n)!=EOF && n) { Rep (i,1,n) scanf("%d%d%d", &x[i], &y[i], &h[i]); maxv = maxc = -infi, minv = minc = infi; rep (i,1,n) Rep (j,i+1,n) { c[i][j] = c[j][i] = sqrt(sqr((lf)x[i]-x[j])+sqr((lf)y[i]-y[j])); v[i][j] = v[j][i] = abs((lf)h[i]-h[j]); MA(maxv,v[i][j]), MI(minv,v[i][j]); MA(maxc,c[i][j]), MI(minc,c[i][j]); } L = minv/maxc, R = maxv/minc; while (R-L > 1E-6) { // L:minf>0 R:minf<=0 M = (L+R)/2.0; if (prim(M) > eps) L = M; else R = M; } printf("%.3f/n", R); } END: getchar(), getchar(); return 0;}

2:Dinkelbach算法235MS

/// by ztx/// blog.csdn.net/hzoi_ztx//#include <bits/stdc++.h>// minimize sumcost / sumdistance// minimize sumvalue / sumcost// value:cost// cost:distance/* "http:///"表示改動過的地方 */#define Rep(i,l,r) for(i=(l);i<=(r);i++)#define rep(i,l,r) for(i=(l);i< (r);i++)#define Rev(i,r,l) for(i=(r);i>=(l);i--)#define rev(i,r,l) for(i=(r);i> (l);i--)#define Each(i,v) for(i=v.begin();i!=v.end();i++)#define r(x) read(x)typedef long long ll ;typedef double lf ;int CH , NEG ;template <typename TP>inline void read(TP& ret) { ret = NEG = 0 ; while (CH=getchar() , CH<'!') ; if (CH == '-') NEG = true , CH = getchar() ; while (ret = ret*10+CH-'0' , CH=getchar() , CH>'!') ; if (NEG) ret = -ret ;}#define maxn 1010LL#define infi 100000000LL#define eps 1E-8F#define sqr(x) ((x)*(x))template <typename TP>inline bool MA(TP&a,const TP&b) { return a < b ? a = b, true : false; }template <typename TP>inline bool MI(TP&a,const TP&b) { return a > b ? a = b, true : false; }int n;int x[maxn], y[maxn], h[maxn];lf v[maxn][maxn], c[maxn][maxn];bool vis[maxn];lf w[maxn];lf rv[maxn];///inline lf prim(lf M) { int i, j, k; lf minf, minw;lf sumc = 0, sumv = 0;/// memset(vis,0,sizeof vis); Rep (i,2,n) w[i] = v[1][i]-M*c[1][i],rv[i] = v[1][i];/// vis[1] = true, minf = 0; rep (i,1,n) { minw = infi; Rep (j,1,n) if (!vis[j] && w[j]<minw) minw = w[j], k = j;sumv += rv[k], sumc += rv[k]-w[k];/// minf += minw, vis[k] = true; Rep (j,1,n) if (!vis[j]) if (MI(w[j],v[k][j]-M*c[k][j]))rv[j] = v[k][j];/// }return sumv*M/sumc;/// return minf;}int main() { int i, j; lf L, M, R; lf maxv, maxc, minv, minc; while (scanf("%d", &n)!=EOF && n) { Rep (i,1,n) scanf("%d%d%d", &x[i], &y[i], &h[i]); maxv = maxc = -infi, minv = minc = infi; rep (i,1,n) Rep (j,i+1,n) { c[i][j] = c[j][i] = sqrt(sqr((lf)x[i]-x[j])+sqr((lf)y[i]-y[j])); v[i][j] = v[j][i] = abs((lf)h[i]-h[j]); MA(maxv,v[i][j]), MI(minv,v[i][j]); MA(maxc,c[i][j]), MI(minc,c[i][j]); } L = minv/maxc, R = maxv/minc;while (true) {/// R = prim(L);/// if (fabs(L-R) < eps) break;/// L = R;///}/// /*while (R-L > 1E-6) { // L:minf>0 R:minf<=0 M = (L+R)/2.0; if (prim(M) > eps) L = M; else R = M; }*/ printf("%.3f/n", R); } END: getchar(), getchar(); return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲高清久久网| 午夜剧场成人观在线视频免费观看| 精品国产一区久久久| 中文字幕av一区二区三区谷原希美| 日韩在线免费视频| 欧美大尺度在线观看| 日本伊人精品一区二区三区介绍| www.欧美精品| 亚洲人成毛片在线播放| 亚洲欧美另类在线观看| 久久这里有精品视频| 久久久国产精品一区| 亚洲成人av中文字幕| 久久久久久国产精品| 韩国日本不卡在线| 欧美日韩美女在线| 国模叶桐国产精品一区| 亚洲娇小xxxx欧美娇小| 久久99亚洲热视| 日韩欧美大尺度| 欧美精品国产精品日韩精品| 成人久久精品视频| 国模吧一区二区三区| 国产精品久久久久久久久久免费| 久久精彩免费视频| 欧美日韩在线视频观看| 91精品视频网站| 亚洲天堂开心观看| 2018中文字幕一区二区三区| 欧美性猛交xxxx| 国产精品国产自产拍高清av水多| 欧美精品videofree1080p| 韩国三级电影久久久久久| 一道本无吗dⅴd在线播放一区| 亚洲视频在线观看免费| 久久久电影免费观看完整版| 一区二区三区在线播放欧美| 91av福利视频| 日韩美女免费观看| 欧美日韩亚洲精品一区二区三区| 国产日产亚洲精品| 永久免费精品影视网站| 欧美在线视频播放| 亚洲日韩中文字幕| 日韩欧美第一页| 欧美成人精品一区| 日韩视频在线观看免费| 久久精品国产亚洲精品| 亚洲成年人在线播放| 自拍视频国产精品| 欧美自拍视频在线| 亚洲精品久久久久久下一站| 国产成人精品在线播放| 成人在线播放av| 亚洲男人天堂古典| 97在线视频免费| 日本午夜在线亚洲.国产| 久久久精品在线| 日韩精品久久久久久久玫瑰园| 国产精品入口夜色视频大尺度| 久久久国产影院| 国语自产在线不卡| 在线日韩欧美视频| 成人精品一区二区三区电影免费| 久久亚洲精品国产亚洲老地址| 亚洲精品免费一区二区三区| 在线日韩中文字幕| 国产精品18久久久久久麻辣| 国产欧美精品日韩精品| 国产成人鲁鲁免费视频a| 国产香蕉精品视频一区二区三区| 亚洲精品国产精品国自产观看浪潮| 亚洲欧美中文日韩v在线观看| 国产自产女人91一区在线观看| 亚洲天堂av高清| 美女av一区二区三区| 狠狠躁夜夜躁人人爽超碰91| 精品国模在线视频| 亚洲男人天天操| 欧美一区第一页| 欧美电影免费观看电视剧大全| 国产精品久久久久影院日本| 欧美在线不卡区| 欧美在线视频免费播放| 亚洲女人天堂网| 国产精品吊钟奶在线| 97国产精品久久| 日韩一区在线视频| 欧美裸体视频网站| 国产在线精品成人一区二区三区| 亚洲国产欧美一区二区三区久久| 国产精品av电影| 欧洲精品毛片网站| 26uuu另类亚洲欧美日本一| 国产精品久久久久久久久久久不卡| 亚洲成色www8888| 国产成人精品国内自产拍免费看| 国产精品久久久一区| 久久影视电视剧免费网站清宫辞电视| 91精品成人久久| 91久久国产精品91久久性色| 精品福利在线观看| 国产成人精品免高潮在线观看| 黑人巨大精品欧美一区二区| 日韩精品在线视频美女| 亚洲综合精品伊人久久| 91国产视频在线| 在线播放精品一区二区三区| 国产综合福利在线| 96pao国产成视频永久免费| 蜜臀久久99精品久久久无需会员| 青青草国产精品一区二区| 欧美综合国产精品久久丁香| 欧美性猛交xxxx免费看漫画| 亚洲精品在线不卡| 欧美黄色成人网| 久久青草福利网站| 最近2019中文字幕mv免费看| 国产免费一区视频观看免费| 久久久亚洲欧洲日产国码aⅴ| 狠狠久久五月精品中文字幕| 亚洲精品小视频| 亚洲亚裔videos黑人hd| 成人久久久久久| 亚洲综合在线播放| 日韩美女在线看| 中文字幕精品www乱入免费视频| 日韩电影大片中文字幕| 欧美日韩在线视频观看| 91国语精品自产拍在线观看性色| 亚洲欧洲一区二区三区在线观看| 欧美成人免费视频| 国产欧美一区二区三区视频| 日韩av免费在线观看| 欧美精品一区三区| 亚洲成色777777在线观看影院| 九九综合九九综合| 久久久综合免费视频| 欧美一区深夜视频| 国产手机视频精品| 欧美性猛交xxxx免费看漫画| 91人成网站www| 狠狠色噜噜狠狠狠狠97| 精品美女久久久久久免费| 色狠狠av一区二区三区香蕉蜜桃| 中文字幕av一区中文字幕天堂| 日韩成人在线网站| 美女少妇精品视频| 久久精品人人爽| 日韩**中文字幕毛片| 久久中文字幕在线视频| 最新国产精品拍自在线播放| 黄色一区二区在线观看| 浅井舞香一区二区| 国产精品福利无圣光在线一区| 欧美日韩午夜剧场| 久久精品视频一| 国产精品视频网| 日韩av高清不卡| 精品福利樱桃av导航| 国产啪精品视频| 欧美性视频网站| 欧美俄罗斯乱妇| 国产精品精品久久久|