zoukankan      html  css  js  c++  java
  • HDU4334——贪心(卡二分)——Trouble

    http://acm.hdu.edu.cn/showproblem.php?pid=4334

    二分T。。

    /************************************************
    * Author        :Powatr
    * Created Time  :2015-8-25 17:34:36
    * File Name     :B_D.cpp
     ************************************************/
    
    #include <cstdio>
    #include <algorithm>
    #include <iostream>
    #include <sstream>
    #include <cstring>
    #include <cmath>
    #include <string>
    #include <vector>
    #include <queue>
    #include <deque>
    #include <stack>
    #include <list>
    #include <map>
    #include <set>
    #include <bitset>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    
    #define lson l, mid, rt << 1
    #define rson mid + 1, r, rt << 1 | 1
    typedef long long ll;
    const int MAXN = 2e2 + 10;
    const int INF = 0x3f3f3f3f;
    const int MOD = 1e9 + 7;
    
    ll  a[6][MAXN];
    ll b[MAXN*MAXN];
    ll c[MAXN*MAXN];
    ll d[MAXN];
    int main(){
        int T, n;
        scanf("%d", &T);
        while(T--){
            scanf("%d", &n);
            for(int i = 1; i <= 5; i++)
                for(int j = 1; j <= n; j++)
                    scanf("%I64d", &a[i][j]);
            int cout = 0;
            for(int i = 1; i <= n; i++)
                for(int j = 1; j <= n; j++)
                    b[++cout] = a[1][i] + a[2][j];
            cout = 0;
            for(int i = 1; i <= n; i++)
                for(int j = 1; j <= n; j++)
                    c[++cout] = a[3][i] + a[4][j];
             cout = n*n;
            for(int i = 1; i <= n; i++)
                d[i] = a[5][i];
            sort(b + 1, b + cout + 1);
            sort(c + 1, c + cout + 1);
            sort(d + 1, d + n + 1);
            int flag = 1;
            for(int i = 1; i <= n && flag; i++){
                int l = 1, r = cout;
                while(l <= cout && r >= 1){
                    if(b[l] + c[r] + d[i] == 0){
                        flag = 0;
                        break;
                    }
                    while(l <= cout && r >= 1 && b[l] + c[r] + d[i] > 0){
                        r--;
                    }
                    while(l <= cout && r >= 1 && b[l] + c[r] + d[i] < 0){
                        l++;
                    }
                }
            }
            if(flag) puts("No");
            else puts("Yes");
        }
        return 0;
    }
                    
    

      

  • 相关阅读:
    QR码与DM码的对比
    JBPM在Eclipse中运行时页面错误ProcessEngine cannot be resolved to a type
    C. A Mist of Florescence
    B. A Tide of Riverscape
    A. A Blend of Springtime
    A. Gennady the Dentist
    D. Lizard Era: Beginning
    E. Jzzhu and Apples
    D. Jzzhu and Cities
    C. Jzzhu and Chocolate
  • 原文地址:https://www.cnblogs.com/zero-begin/p/4758196.html
Copyright © 2011-2022 走看看