zoukankan      html  css  js  c++  java
  • 01分数规划

    OI分数规划

    首先,单纯的贪心是错误的(废话)

    除了常见的二分之外还有一种调整法,不会.....

    板题:POJ2976 Dropping tests

     1 #include <cstdio>
     2 #include <algorithm>
     3 
     4 typedef long long LL;
     5 const int N = 1010;
     6 const double INF = 1e11;
     7 
     8 struct Node {
     9     double a, b, c;
    10     inline bool operator <(const Node &w) const {
    11         return c < w.c;
    12     }
    13 }node[N];
    14 
    15 int n, k;
    16 
    17 inline bool check(double D) {
    18     for(int i = 1; i <= n; i++) {
    19         node[i].c = node[i].a - node[i].b * D;
    20     }
    21     std::sort(node + 1, node + n + 1);
    22     //printf("k = %d 
    ", k);
    23     double ans = 0;
    24     for(int i = 1; i <= k; i++) {
    25         ans += node[n + 1 - i].c;
    26     }
    27     return ans >= 0;
    28 }
    29 
    30 inline void solve() {
    31     k = n - k;
    32     double l = INF, r = -INF;
    33     for(int i = 1; i <= n; i++) {
    34         scanf("%lf", &node[i].a);
    35     }
    36     for(int i = 1; i <= n; i++) {
    37         scanf("%lf", &node[i].b);
    38         double temp = node[i].a / node[i].b;
    39         l = std::min(l, temp);
    40         r = std::max(r, temp);
    41     }
    42 
    43     for(int i = 1; i <= 50; i++) {
    44         double mid = (l + r) / 2;
    45         if(check(mid)) {
    46             l = mid;
    47         }
    48         else {
    49             r = mid;
    50         }
    51     }
    52     printf("%lld
    ", (LL)(r * 100 + 0.5));
    53     return;
    54 }
    55 
    56 int main() {
    57     while(scanf("%d%d", &n, &k)) {
    58         if(!n && !k) break;
    59         solve();
    60     }
    61 
    62     return 0;
    63 }
    AC代码
  • 相关阅读:
    Linux ansible的group模块
    ansible copy 模块详解
    Linux centos yum仓库 自制
    ansible 的playbook脚本
    Linux centos 监控备份
    Linux centos nginx下载安装初步
    周总结5
    周总结4
    爬取
    结对开发
  • 原文地址:https://www.cnblogs.com/huyufeifei/p/10450738.html
Copyright © 2011-2022 走看看