1 条题解
-
0
E. 团划分 详细题解
题目核心理解
给定两个整数 和 。有 个图上顶点,编号 到 。 你需要给每个顶点 分配一个互不相同的数值 (范围 到 )。
连边规则:对任意两点 ,若满足
则两点之间连边。
要求构造一组 ,使得这张图能被分成最少数量的团,并输出具体划分方案。 团的定义:集合内任意两点之间都直接连边。
核心思路
1. 关键性质
-
同一个团里的顶点数量不可能超过 。 若同一团内有至少 个顶点,则必存在两点满足 ,再加上 ,会使
两点不连边,矛盾。
-
因此最少团数为
2. 构造规则
- 将顶点按顺序每 个分为一组,每组构成一个团。
- 对每组大小为 的块,构造排列 : 设 , 前半部分倒序:, 后半部分倒序:。
- 该构造能保证块内任意两点满足连边条件,自成一个团。
算法流程
- 根据 和 计算最少团数 。
- 按每 个顶点一组,依次划分成团。
- 对每一组,按“前半倒序、后半倒序”构造 。
- 输出排列 、团数量 、每个点的团编号。
公式与复杂度分析
连边判定:
最少团数:
复杂度
每组测试用例只需要线性构造。 时间复杂度:。 可轻松处理 、 的数据范围。
-
- 1
信息
- ID
- 6577
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者