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

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

[POJ2976] Dropping tests

2019-11-11 02:54:20
字體:
來源:轉載
供稿:網友

題意

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

題解

基本的01分數規劃問題 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; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象山县| 万荣县| 灵石县| 阿图什市| 大方县| 三门峡市| 东阳市| 隆安县| 罗甸县| 增城市| 嘉义市| 清原| 泽普县| 雷波县| 康平县| 丰台区| 澄迈县| 建平县| 中超| 泰来县| 新宾| 南投县| 淮南市| 东海县| 连平县| 石林| 图木舒克市| 汉阴县| 林西县| 获嘉县| 沙洋县| 济宁市| 桃源县| 安远县| 基隆市| 林甸县| 漳平市| 仙桃市| 商水县| 高要市| 枝江市|