zoukankan      html  css  js  c++  java
  • 贪心+二分答案

    (贪心+整数型二分答案)

    题目常包含:“最短的最大距离”,“最大的最短距离”

    1.计网

    2.洛谷P1824进击的奶牛

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    using namespace std;
    const int maxn=100007;
    const double eps=1e-8;
    int n,c;
    int x[maxn];
    int le=1,ri,mid;
    int main(){
        scanf("%d%d",&n,&c);
        for(int i=0;i<n;i++){
            scanf("%d",&x[i]);
    
        }
        sort(x,x+n);
        ri=x[n-1];
        int last=1;
        while(le<=ri){
            mid=(le+ri)/2;
            if(last==mid){
                break;
            }
            last=mid;
    
            int sum=x[0]+mid,cnt=1;
            for(int i=2;i<n;i++){
                if(sum<=x[i]){
                    cnt++;
                    sum=x[i]+mid;
                }
            }
            if(cnt<c){
                ri=mid-1;
            }
            else
                le=mid+1;
        }
        printf("%d
    ",r1);
        
    }

    3.洛谷P1316 丢瓶盖

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    using namespace std;
    const int maxn=100007;
    
    int n,c;
    int x[maxn];
    int le=1,ri,mid;
    int main(){
        scanf("%d%d",&n,&c);
        for(int i=0;i<n;i++){
            scanf("%d",&x[i]);
    
        }
        sort(x,x+n);
        ri=x[n-1]-x[0];
    
        while(le<=ri){
            mid=(le+ri)/2;
            int sum=x[0]+mid,cnt=1;
            for(int i=2;i<n;i++){
                if(sum<=x[i]){
                    cnt++;
                    sum=x[i]+mid;
                }
            }
            if(cnt<c){
                ri=mid-1;
            }
            else
                le=mid+1;
        }
        printf("%d
    ",ri);
    
    }
  • 相关阅读:
    eclipse从接口快速跳转到实现类
    eclipse中mybatis的xml配置文件代码提示
    eclipse安装mybatis的插件
    eclipse修改默认的代码注释
    eclipse输入时自动提示
    eclipse中lombok注解不生效
    eclipse创建springboot项目
    家庭记事本(终)
    家庭记事本(6)
    人月神话(二)
  • 原文地址:https://www.cnblogs.com/loganlzj/p/10182288.html
Copyright © 2011-2022 走看看