P9087 「SvR-2」音符 题解
本题解中「平铺」指:
用一个字符串循环拼接无限次,取前
n-1 个字符组成新字符串。
\textbf{Subtask 1}
留给
期望得分 10 分。
\textbf{Subtask 2}
留给
期望得分 40 分。
\textbf{Subtask 3}
容易发现,只有两种字符是有效的。
使用一个长度为
- 为
0 表示没有「重音」,即s_i\ne s_{i+1} 。 - 为
1 表示有「重音」,即s_i=s_{i+1} 。
构造长为
最优解有以下三种情况:
- 「平铺」
0 ; - 「平铺」长为
(k-1) 的串000\ldots0001 ; - 「平铺」长为
(k-1) 的串000\ldots0001 ,但是将最后一个1 改为0 。
考虑证明这个结论:
对于情况 2,
- 若把除了最后一个以外的
1 改成0 更优,运用类比可知全部改为0 更优,于是变成情况 1(若把0 改成1 ,无故多了一个代价a ,肯定不优)。 - 由于最后一个
1 后面可能不满k-2 个0 ,所以诞生了情况 3。
期望得分 100 分。