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

    /*
    如果发的传单是偶数,那么所有人都收到双数张、
    仅考虑发了单数张传单,二分答案x,如果x左边是偶数,那么答案在右侧,如果x左边是奇数,那么答案在左侧  
    */
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    #define ll long long 
    #define maxn 20005
    #define INF 1000000009
    
    using namespace std;
    
    struct node{
        ll a,b,c;
    }p[maxn]; 
    ll n;
    
    long long check(ll x){
        if(x==0) return 0;
        ll res=0,tmp=0;
        for(int i=1;i<=n;i++){
            tmp=min(x,p[i].b);//因为这个地方没写wa了
            res+=tmp>=p[i].a?(tmp-p[i].a)/p[i].c+1:0;//一定要判定一下 
        }
        return res;
    } 
    
    int main(){
        while(scanf("%lld",&n)==1){
            ll sum=0,l=1,r=1,ans,mid;
            for(int i=1;i<=n;i++){
                scanf("%lld%lld%lld",&p[i].a,&p[i].b,&p[i].c);
                r=max(r,p[i].b);
                sum+=p[i].a<=p[i].b?(p[i].b-p[i].a)/p[i].c+1:0;
            }
            if(sum%2==0){
                puts("DC Qiang is unhappy.");
                continue;
            }
            while(l<=r){
                mid=l+r>>1;
                if(check(mid)%2!=0)//mid及左边的传单数是奇数,那个人在左边 
                    ans=mid,r=mid-1;
                else l=mid+1;    //那个人在右边      
            }
            printf("%lld %lld
    ",ans,check(ans)-check(ans-1));
        }    
        return 0;
    }
  • 相关阅读:
    LVM 逻辑卷管理
    运维自动化工具 Kickstart
    运维自动化工具 Cobbler
    Python 环境
    Zabbix Agent 自动、主动注册
    Zabbix Proxy 分布式监控
    PHP 性能优化之 PHP-FPM
    PHP 缓存插件之 Zend Opcache ( 取代 APC )
    Alternative PHP Cache ( APC )
    Tomcat ( 单机多 Tomcat 并存 )
  • 原文地址:https://www.cnblogs.com/zsben991126/p/10143895.html
Copyright © 2011-2022 走看看