zoukankan      html  css  js  c++  java
  • hdu 2141(二分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2141

    最近想做做水题找找感觉。。orz,水题也不好切啊。。。一开始没分析,直接暴力,可想而知,TLE。。。然后就用了二分。。。wa了好几次。。

    View Code
     1 #include<iostream>
     2 #include<algorithm>
     3 const int MAXN=507;
     4 using namespace std;
     5 __int64  a[MAXN],b[MAXN],c[MAXN],d[MAXN*MAXN];
     6 
     7 int Binary_Search(__int64 number,int low,int high){
     8     while(low<=high){
     9         int mid=(low+high)/2;
    10         if(d[mid]==number)return 1;
    11         else if(d[mid]>number)high=mid-1;
    12         else low=mid+1;
    13     }
    14     return 0;
    15 }
    16 
    17 
    18 int main(){
    19     int L,N,M;
    20     int _case=1;
    21     while(~scanf("%d%d%d",&L,&N,&M)){
    22         for(int i=0;i<L;i++)scanf("%I64d",&a[i]);
    23         for(int i=0;i<N;i++)scanf("%I64d",&b[i]);
    24         for(int i=0;i<M;i++)scanf("%I64d",&c[i]);
    25         int l=0;
    26         for(int i=0;i<L;i++){
    27             for(int j=0;j<N;j++){
    28                 d[l++]=a[i]+b[j];
    29             }
    30         }
    31         sort(c,c+M);
    32         sort(d,d+l);
    33         int s;
    34         scanf("%d",&s);
    35         printf("Case %d:\n",_case++);
    36         while(s--){
    37             __int64 x;
    38             scanf("%I64d",&x);
    39             if(x<c[0]+d[0]||x>c[M-1]+d[l-1]){
    40                 printf("NO\n");
    41                 continue;
    42             }
    43             int flag=0;
    44             for(int i=0;i<M;i++){
    45                 __int64 tmp=x-c[i];
    46                 if(Binary_Search(tmp,0,l-1)){
    47                     flag=1;
    48                     break;
    49                 }
    50             }
    51             if(flag){
    52                 printf("YES\n");
    53             }else 
    54                 printf("NO\n");
    55         }
    56     }
    57     return 0;
    58 }
    59 
    60 
    61             
    62         
  • 相关阅读:
    Javascript 基础知识整理
    设计模式
    Flex 布局
    CSS选择器,属性前缀,长度单位,变形效果,过渡效果,动画效果
    CSS中一些重要概念
    性能优化(CSS优化)
    CSS定位走一波(定位学习续)
    定位布局
    浮动布局
    Display属性学习总结
  • 原文地址:https://www.cnblogs.com/wally/p/2969482.html
Copyright © 2011-2022 走看看