国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

[POJ2976] Dropping tests

2019-11-11 04:22:03
字體:
來源:轉載
供稿:網友

題意

n個二元組(ai,bi),選定n-K個二元組使得∑ai∑bi最大

題解

基本的01分數規(guī)劃問題 weighti=valuei?r?costimax{f(r)}求和前n+K大的weighti即可。 至于為什么WA嘛,改改精度,c++與g++都試試,多試幾遍就AC了。 另外: 精度誤差處理方式ε為精度誤差,越小精度越高,如ε=10?8,程序中經常將它寫為eps=1E-8 減少精度誤差的方法: a=b?|a?b|<ε a<b?a?b<?ε a≤b?a?b<ε

代碼

/// by ztx/// blog.csdn.net/hzoi_ztx#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 eps 1E-4int n, K;lf v[maxn], c[maxn], w[maxn], L, M, R, maxf;int main() { int i; while (scanf("%d%d", &n, &K), n|K) { Rep (i,1,n) scanf("%lf", &v[i]); Rep (i,1,n) scanf("%lf", &c[i]); L = 0, R = 100; while (R-L > eps) { // L:maxf>0 , R:maxf<=0 M = (L+R)/2; Rep (i,1,n) w[i] = v[i]*100-M*c[i]; std::sort(w+1,w+n+1); maxf = 0; rev (i,n,K) maxf += w[i]; if (maxf > eps) L = M; else R = M; }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 霍林郭勒市| 中宁县| 清涧县| 特克斯县| 洛阳市| 大石桥市| 牙克石市| 古蔺县| 嵊州市| 乡城县| 嘉义县| 武威市| 英吉沙县| 根河市| 乳源| 资中县| 南雄市| 龙里县| 桑植县| 海兴县| 江陵县| 曲阳县| 义乌市| 佛山市| 连州市| 岐山县| 山阴县| 武乡县| 同德县| 玉门市| 泌阳县| 威信县| 旺苍县| 宜昌市| 辛集市| 固镇县| 那曲县| 石柱| 额敏县| 晋城| 元阳县|