zoukankan      html  css  js  c++  java
  • AtCoder Beginner Contest 174 E

    题意 :给你N个木头,长度分别是ai 

    让你切K次,

    切完后,让你求长度最大的木头最小值,(最大值最小)

    题解 

    考虑一个value ,我切K次能不能保证所有木头都小于value

    一个木块的长度为len,那切完后小于等于value,就需要 (len-1)/value 次  (上取整-1,手玩一下想想)

    所以二分一下找一下这个value就行了

    #include<bits/stdc++.h>
    #define pb push_back
    #define fi first
    #define se second
    #define io std::ios::sync_with_stdio(false)
    using namespace std;
    typedef long long ll;
    typedef pair<int,int> pii;
    const int P = 1e9+7, INF = 0x3f3f3f3f;
    int gcd(int a,int b)
    {
        return b?gcd(b,a%b):a;
    }
    int qpow(int a,int n)
    {
        int r=1%P;
        for (a%=P; n; a=a*a%P,n>>=1)if(n&1)r=r*a%P;
        return r;
    }
    const int maxn=2e5+50;
    int a[maxn];
      int n,k;
    int check(int x)
    {  int kk=0;
       for(int i=1;i<=n;i++)
       {
        kk+=(a[i]-1)/x;
       }
       if(kk>k)
        return 0;
       else
        return 1;
    }
    int main()
    {
      cin>>n>>k;
      for(int i=1;i<=n;i++)
      {
          cin>>a[i];
      }
      int l=1,r=1e9;
      int ans=0;
      while(l<=r)
      {
          int mid=(l+r)/2;
          if(check(mid))
          {
              r=mid-1;
              ans=mid;
          }
          else
          {
              l=mid+1;
          }
      }
      cout<<ans<<endl;
    }
  • 相关阅读:
    mysql 主从配置
    doGet和doPost的区别
    我的第一个MVC项目
    c3p0xml配置详解
    c3p0连接数据库
    java加载资源文件
    Windows上部署Python
    Windows上部署Python
    NagiosQL安装
    Nagios Windows客户端NSClient++ 0.4.x安装配置
  • 原文地址:https://www.cnblogs.com/acmLLF/p/13426655.html
Copyright © 2011-2022 走看看