zoukankan      html  css  js  c++  java
  • Move

    题目链接

    题意:给你n个物品体积,你用k个相同体积的篮子去装,不能装超过篮子的体积,求篮子体积的最小值

    思路:其因为数都是1000,令sum为物体总体积,maxV为物体体积最大值,所以其篮子体积下界为max((int)ceil(sum/k),maxV),而上界就是ceil(sum/k)+maxV然后暴力枚举去判断能否满足就ac了。

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<vector>
    #include<map>
    #include<queue>
    #define ll long long
    using namespace std;
    const int N = 1e3+5;
    int t,n,k,maxV,v;
    int a[N],b[N];
     
    bool cmp(int a,int b){
        return a > b;
    }
     
    bool check(int x)
    {
        for(int i=1;i<=n;i++)
            b[i]=x;
        int cnt=1;
        for(int i=1;i<=n;i++){
            int flag=0;
            for(int j=1;j<=cnt;j++){
                if(b[j]>=a[i])
                {
                    b[j]-=a[i];
                    flag=1;
                    break;
                }
            }
            if(!flag)
            {
                cnt++;
                b[cnt]-=a[i];
            }
        }
        v=0;
        if(cnt<=k)    
            return true;
        return false;
    }
     
    int main()
    {
        int x=0;
        scanf("%d",&t);
        while(t--)
        {
            int sum=0;
            maxV=0;
            scanf("%d%d",&n,&k);
            for(int i=1;i<=n;i++)
            {
                scanf("%d",&a[i]);
                sum+=a[i];
                maxV=max(a[i],maxV);
            }
            sort(a+1,a+1+n,cmp);
            int ans=0;
            for(int i=max((int)ceil(sum/k),maxV);i<=ceil(sum/k)+maxV;i++)
            {
                if(check(i))
                {
                    ans= i;
                    break;
                }
            }
            printf("Case #%d: ",++x);
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    网站上线的过程
    PHP的四种基本算法
    YII框架第三方微博登录
    《正三角》《倒三角》
    PHP实现四种基本排序
    php实现快速排序
    iwebshop 简介
    收集的伪静态中经常使用的一些参数
    我与AI的相识
    phpstudy下的nginx服务器显示目录
  • 原文地址:https://www.cnblogs.com/2462478392Lee/p/11295952.html
Copyright © 2011-2022 走看看