
Codeforces Round 961 (Div. 2) 是一场编程竞赛,由 Codeforces 平台举办,面向
具有一定编程基础和算法知识的选手。以下是对该轮竞赛的详细解析:
一、竞赛基本信息
• 名称:Codeforces Round 961 (Div. 2)
• 平台:Codeforces
• 难度等级:Div. 2,适用于具有一定编程基础和算法知识的选手。
• 比赛时间:具体比赛时间未直接给出,但通常 Codeforces 的 Div. 2 比赛时
间为 3 小时或 4 小时,具体取决于比赛组织者的决定。
二、题目概述
Codeforces Round 961 (Div. 2) 通常包含 5-7 个题目,难度从 A 到 E 逐渐递增。A
题为最简单,E 题为最困难。以下是对部分题目的简要概述:
1. A
题(示例):Diagonals
o 题目大意:将一堆东西按照对角线长度的大小来放置,优先放置较长
的对角线。对于正方形来说,其反对角线的长度有一定的规律。
o 解题思路:通过预处理和判断奇偶性来安排剩余的对角线。
2. B1 & B2
题(示例):Bouquet (Easy Version) & Bouquet (Hard
Version)
o 题目大意:女孩准备过生日,她想买一束最漂亮的花。商店里有多种
花,每种花有不同的花瓣数和价格。女孩希望花束中任何两朵花的花
瓣数之差不超过 1,并且她拥有的金币有限。
o 解题思路:
B1(简单版):排序后通过动态区间查找满足条件的区间,注
意处理结果为
0 的情况。
B2(困难版):动态更新来找出合适的数量进行组合,同时满
足花瓣数之差不超过
1 的条件。
3. D
题(示例):Cases
o 题目大意:求一个集合,集合中的字母来自划分段落的最后一个字
母,要求集合的大小越小越好。
o 解题思路:通过反证法验证,并寻找集合的补集来求解。使用状压
(二进制)来表示集合,并通过遍历和标记来找出合法的集合。
三、竞赛特点
• 多样性:题目类型多样,覆盖了排序、动态规划、贪心算法等多种算法思
想。
• 挑战性:题目难度逐渐递增,为选手提供了从简单到复杂的挑战过程。