AGC 059

是不是退役前都上不了分了???????????????????????????????????????????

A

首先一个串相邻相同的可以缩成一个字符,假设缩完有 \(n\) 段。发现每次操作最多减少两个相邻不相同的,能不能达到这个上界?

考虑到有个题 [Kubic] ABC,那题的结论是每次都可以增加两个相邻不相同的,于是我就思考是不是每次都可以减少两个相邻不相同的。

经过一通手玩,发现 \(n\ge 5\) 的时候都可以找到一种方式减少两个相邻不相同的,也就是 \(n\to n-2\)

\(n=4\) 的时候,发现每种情况 ABAC ABAB ABCA 都需要恰好两步。

\(n=3\) 的时候,有 ABA ABC 两种,答案只和首尾是否相同有关,而中间的每一步都不会改变首尾。

B

简单签到题(

我们想每次插入所有同一种颜色,使得增加的贡献最少。如果是 AA \(\to\) ABBBBA 会是增加 1,AC \(\to\) ABBBBC 是增加 2。

我们想要尽量多是第一种情况。把颜色按照出现次数从大到小排序,每次找到两个相邻相同的地方,把所有这种颜色插进去(这样会贡献加 1),找不到就随便找个位置插进去(因为一定加 2),链表模拟即可。

code

C

posted @ 2022-12-05 08:37  Rainbow_qwq  阅读(101)  评论(0)    收藏  举报