1 条题解
-
0
A. 特殊字符 详细题解
题目核心理解
给定一个整数 ,你需要构造一个大写字母字符串。
定义:特殊字符是指恰好与一个相邻字符相等的字符。 要求字符串中恰好有 个特殊字符。 如果无法构造,输出
NO。
核心思路
1. 关键性质
我们把连续相同的字符看作一个块,观察每个块的贡献:
- 块长度为 :贡献 个特殊字符
- 块长度为 :贡献 个特殊字符
- 块长度 :贡献 个特殊字符
结论:
- 所有合法字符串的特殊字符总数一定是偶数
- 当 为奇数时,无解
- 当 为偶数时,一定有解
2. 构造规则
对于偶数 ,最简单的构造方式: 交替使用两个不同字母,每两个字符一组,例如
AABB。 每组AA或BB都能贡献 个特殊字符。 最终字符串形如: 重复 次。
算法流程
- 输入测试用例数 。
- 对每个测试用例,读入 。
- 如果 是奇数,输出
NO。 - 如果 是偶数:
- 输出
YES - 循环 次,每次拼接字符串
AABB - 输出构造好的字符串
- 输出
公式与复杂度分析
有解的充要条件:
复杂度
- 每组测试用例:
- 总时间复杂度:
- 可轻松处理 的数据范围。
- 1
信息
- ID
- 6573
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者