zoukankan      html  css  js  c++  java
  • poj 1064 Cable master 二分 题解《挑战程序设计竞赛》

    地址 http://poj.org/problem?id=1064

     题解 二分即可

    其实 对于输入与精度计算不是很在行  

    老是被卡精度

    后来学习了一个函数 floor 向负无穷取整 才能ac

    代码如下

     1 #include <iostream>
     2 #include <vector>
     3 #include <math.h>
     4 #include <algorithm>
     5 
     6 using namespace std;
     7 
     8 vector<double> v;
     9 
    10 int n, k;
    11 
    12 
    13 bool check(double m)
    14 {
    15     int count = 0;
    16     for (int i = 0; i < v.size(); i++)
    17     {
    18         int cut = v[i] / m;
    19         count += cut;
    20     }
    21 
    22     if (count >= k) return false;
    23 
    24     return true;
    25 }
    26 
    27 
    28 int main()
    29 {
    30     scanf("%d %d",&n,&k);
    31 
    32     for (int i = 0; i < n; i++) {
    33         double t;
    34         scanf("%lf",&t);
    35         v.push_back(t);
    36     }
    37 
    38     sort(v.begin(),v.end());
    39 
    40     double l = 0.001; double r = v.back();
    41 
    42     for (int i = 0; i < 1000; i++) {
    43         double mid = (l + r) / 2;
    44         if (check(mid)) r = mid;
    45         else l = mid + 0.0001;
    46     }
    47 
    48     printf("%.2f", floor(l*100)/100);
    49     return 0;
    50 }
    View Code
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    js获取盒子scrollTop
    获取浏览器宽度,自适应屏幕
    js切割字符串
    有向图的欧拉路径POJ2337
    欧拉回路和欧拉路径
    HDU 4462(暴力枚举)
    HDU 4455(dp)
    鸽巢原理入门
    HDU 4819 Mosaic(二维线段树)
    POJ 1330 Nearest Common Ancestors(LCA模板)
  • 原文地址:https://www.cnblogs.com/itdef/p/12028283.html
Copyright © 2011-2022 走看看