问题标题: AHOI2018初中组省赛第3题怎么写?

0
0
已解决
陆麟瑞
陆麟瑞
资深天翼
资深天翼

考场写了个枚举直接10分qwq

求大佬

@洪朝阳 @王星河 @樊澄宇 @贾文卓 @葛新 @杨喆 

题目:

分组-division

题目描述

 

小可可的学校信息组总共有 n 个队员,每个人都有一个实力值 a[i]。现在,一年一

度的编程大赛就要到了,小可可的学校获得了若干个参赛名额,教练决定把学校信息组 的 n 个队员分成若干个小组去参加这场比赛。

但是每个队员都不会愿意与实力跟自己过于悬殊的队员组队,于是要求分成的每个 小组的队员实力值连续,同时,一个队不需要两个实力相同的选手。举个例子:

[1, 2, 3, 4, 5]是合法的分组方案,因为实力值连续;

[1, 2, 3, 5]不是合法的分组方案,因为实力值不连续;

[0, 1, 1, 2]同样不是合法的分组方案,因为出现了两个实力值为 1 的选手。 如果有小组内人数太少,就会因为时间不够而无法获得高分,于是小可可想让你给

出一个合法的分组方案,满足所有人都恰好分到一个小组,使得人数最少的组人数最多, 输出人数最少的组人数的最大值。

注意:实力值可能是负数,分组的数量没有限制

输入格式

 

第一行一个正整数 n,表示队员数量。

第二行有 n 个整数,第 i 个整数 a[i]表示第 i 个队员的实力。

输出格式

 

输出一行,包括一个正整数,表示人数最少的组的人数最大值。

输入输出样例

输入样例 1:

7

4 5 6 3 -1 -3 -2

输出样例 1:

3

说明

 

[样例解释]

分为 2 组,一组的队员实力值是{4, 5, 2, 3},一组是{-4, -3, -5},其中最小的组人数为 3,可以发现没有比 3 更优的分法了。

 

【数据范围】

对于 100%的数据满足:1≤n≤100000,|a[i]|≤109。


0
已采纳
贾文卓
贾文卓
高级光能
高级光能

@陆麟瑞 我只有60分。我教你一个方法:如果n<=6就爆了搜索,否则sort之后骗分。(直接当没有重复的做)

2
洪朝阳
洪朝阳
修练者
修练者

(芜湖的dalao): 只是个小清新贪心..如果实力为i的人数>实力为i+1的人数(下降)就不再往这个队里加成员

1
张国鉴
张国鉴
资深守护
资深守护

我是用了并查集,但只有40分

1
贾文卓
贾文卓
高级光能
高级光能

@陆麟瑞 DFS可以(暴力出奇迹啊)

0
0
0
0
我要回答