HDU 1205 鸽巢原理

Posted 树的种子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1205 鸽巢原理相关的知识,希望对你有一定的参考价值。

 

#include <bits/stdc++.h>

using namespace std;

long long abs_(long long a,long long b) {
    if(a>=b)
        return a-b;
    else return b-a;
}

int main()
{
    int t;
    scanf("%d",&t);
    while(t--) {
        long long maxx = -1;
        long long sum = 0;

        int n;
        scanf("%d",&n);
        long long a;
        for(int i=0;i<n;i++) {
            scanf("%lld",&a);
            maxx = max(a,maxx);
            sum+=a;
        }

        long long orther = sum - maxx+1;

        if(orther>=maxx)
            puts("Yes");
        else puts("No");

    }
    return 0;
}
View Code

 

分析:

考虑最多的元素,那么其他种类的元素,完全可以放到最多的元素的中间,不用担心他们会不会相邻;

以上是关于HDU 1205 鸽巢原理的主要内容,如果未能解决你的问题,请参考以下文章

[HDU1205]吃糖果 题解(鸽巢原理)

hdoj1205--吃糖果(鸽巢原理)

[POJ3370]&[HDU1808]Halloween treats 题解(鸽巢原理)

HDU 1005 Number Sequence多解,暴力打表,鸽巢原理

RMQ(鸽巢原理或字符串操作)

HDU 1205 吃糖果(鸽笼原理)