HDU 1205 吃糖果(水题)


链接:传送门
思路:思维僵硬了,僵硬...... 简单的插隔板思想......选出来数量最多的糖果种类X,假设X数量为MAX,然后以X作为“隔板”,形成X _ X _ X _ X .... _ X,中间便形成了 MAX - 1 个区域( 区域内可以放任意多同种类不相邻的糖果 ),也就是说其他种类糖果数量至少大于等于 MAX - 1 才能使得X糖果两两不能相邻。

为什么如此僵硬!!! TAT


/*************************************************************************
    > File Name: hdu1205.cpp
    > Author:    WArobot 
    > Blog:      http://www.cnblogs.com/WArobot/ 
    > Created Time: 2017年04月29日 星期六 20时46分03秒
 ************************************************************************/

#include<bits/stdc++.h>
using namespace std;

int t,n,x,t_max;
long long sum = 0;
int main(){
	scanf("%d",&t);
	while(t--){
		scanf("%d",&n);
		sum = t_max = 0;
		for(int i=0;i<n;i++){
			scanf("%d",&x);
			t_max = max(t_max,x);
			sum += x;
		}
		sum -= t_max;
		if(sum>=t_max-1)	printf("Yes
");
		else				printf("No
");
	}
	return 0;
}
原文地址:https://www.cnblogs.com/WArobot/p/6786262.html