博客
关于我
【代码超详解】Codeforces 1335C. Two Teams Composing(思维)
阅读量:727 次
发布时间:2019-03-21

本文共 1446 字,大约阅读时间需要 4 分钟。

一、传送门

二、算法分析说明与代码编写指导

特判:

n = 1 的时候,一个人不能分出两个组,答案为 0
n = 2 的时候,无论两个人的技能相同或不同,答案都为 1。
用集合 s 去重,s.size() 表示技能种数 k。
b[i] 表示拥有技能 i 的人数。数组 b 的最大值设为 m。
分两种情况:
①第一组,从会每个技能的人里面各挑 1 个,大小不超过 d。第二组,从掌握被最多掌握的技能的人里挑,人数最多为 m - 1。两组人数要相等,最终为 r1 = min(d, m - 1)。
②第一组,除了被掌握最多的技能以外,从会每个技能的人里面各挑 1 个,大小不超过 d - 1。第二组,从掌握被最多掌握的技能的人里挑,人数最多为 m。两组人数要相等,最终为 r2 = min(d - 1, m)。
最终答案为 max(r1, r2)。

三、AC 代码

麻蛋,比赛的时候写出了正解,但是 16 行和 17 行用的是 puts,G++ 提交直接 Wrong answer on test 1 了。

补题的时候换用 MSVC 直接 A 掉。

std:: ios::sync_with_stdio(false); std::cin.tie(0);

这两句启用以后不能混用 stdio 和 iostream 进行输入输出。

<-, -> 我一直以为不混用 cin/cout 和 scanf/printf 就可以了,妈的,rating 要跌出屎了。
如果是出去比赛的话,因为机子都是 Linux 的,所以没有 MSVC 用。哎。

#include
#include
#include
#pragma warning(disable: 4996)typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned int uint;typedef long long ll; typedef unsigned long long ull;using namespace std;const uint nmax = 2e5 + 1;uint a, b[nmax], r1, r2, m; set
s;int main() { ios::sync_with_stdio(false); cin.tie(0); uint t, n; cin >> t; ++t; while (--t) { cin >> n; fill(b + 1, b + 1 + n, 0); s.clear(); for (uint i = 0; i < n; ++i) { cin >> a; ++b[a]; s.emplace(a); } if (n == 1) { cout << '0' << endl; continue; } if (n == 2) { cout << '1' << endl; continue; } m = *max_element(b + 1, b + 1 + n); r1 = min(m - 1, (uint)s.size()); r2 = min(m, (uint)s.size() - 1); cout << max(r1, r2) << endl; } return 0;}

转载地址:http://wrtez.baihongyu.com/

你可能感兴趣的文章
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>
mysql中的字段如何选择合适的数据类型呢?
查看>>
MySQL中的字符集陷阱:为何避免使用UTF-8
查看>>
mysql中的数据导入与导出
查看>>
MySQL中的时间函数
查看>>
mysql中的约束
查看>>
MySQL中的表是什么?
查看>>
mysql中穿件函数时候delimiter的用法
查看>>
Mysql中索引的分类、增删改查与存储引擎对应关系
查看>>
Mysql中索引的最左前缀原则图文剖析(全)
查看>>
MySql中给视图添加注释怎么添加_默认不支持_可以这样取巧---MySql工作笔记002
查看>>
Mysql中获取所有表名以及表名带时间字符串使用BetweenAnd筛选区间范围
查看>>
Mysql中视图的使用以及常见运算符的使用示例和优先级
查看>>
Mysql中触发器的使用示例
查看>>
Mysql中设置只允许指定ip能连接访问(可视化工具的方式)
查看>>
mysql中还有窗口函数?这是什么东西?
查看>>
mysql中间件
查看>>
MYSQL中频繁的乱码问题终极解决
查看>>