zoukankan      html  css  js  c++  java
  • Wannafly挑战赛13-D

    题解:看到大佬的写的结构体,骤然醒悟,一块蛋糕切k次,这(k+1)块蛋糕是均匀的。所以要保存切的次数,及其对应的蛋糕大小(切了几次后的蛋糕大小),初始蛋糕的大小。

    感受:以前理解的是切蛋糕是均分的,切k次每块大小为Cake/(2^k)。正解是切k次每块大小为Cake/k。

     1 #pragma warning(disable:4996)
     2 #include<queue>
     3 #include<cstdio>
     4 #include<string>
     5 #include<cstring>
     6 #include<iostream>
     7 #include<algorithm>
     8 #define ll long long 
     9 using namespace std;
    10 
    11 const double INF = 1e9 + 7;
    12 
    13 struct node {
    14     double a, b;
    15     int num;
    16     node() {};
    17     node(double a, double b, int num) :a(a), b(b), num(num) {}
    18     bool operator<(const node& i) const {
    19         return b < i.b;
    20     }
    21 };
    22 
    23 int n;
    24 double ratio;
    25 
    26 int main()
    27 {
    28     while (cin >> ratio >> n) {
    29         priority_queue<node> p;
    30 
    31         double Min = INF;
    32         for (int i = 1; i <= n; i++) {
    33             double tp;
    34             cin >> tp;
    35             Min = min(Min, tp);
    36             p.push(node(tp, tp, 1));
    37         }
    38 
    39         int ans = 0;
    40         while (true) {
    41             node now = p.top(); p.pop();
    42             
    43             if (Min / now.b >= ratio) break;
    44 
    45             ans++;
    46             now.num++;
    47 
    48             now.b = now.a / now.num;
    49             p.push(now);
    50 
    51             Min = min(Min, now.b);
    52         }
    53 
    54         cout << ans << endl;
    55         
    56     }
    57     return 0;
    58 }
  • 相关阅读:
    74. Search a 2D Matrix(js)
    73. Set Matrix Zeroes(js)
    72. Edit Distance(js)
    71. Simplify Path(js)
    兼容各种浏览器版本的事件绑定函数?
    浏览器兼容性问题
    柯里化函数
    token登录验证机制
    vue懒加载
    在Vue中使用了Swiper ,动态从后台获取数据的之后,swiper滑动失效??
  • 原文地址:https://www.cnblogs.com/zgglj-com/p/8824133.html
Copyright © 2011-2022 走看看