#9134. 翻转硬币 题解
首先考虑一些简单的情况,比如
容易发现操作 1 和操作 2 的顺序不会影响结果,于是可以钦定所有操作 1 在操作 2 之前。并且可以发现,进行完所有 1 后 2 的次数即为
然后考虑将
上面的是 naive 的,相信大家赛时都想出来了。
然后考虑如何解决这个转化后的问题。如果考虑 dp,则会发现不管将这个状态和操作 1 还是 2 联系起来,都会对另一种操作有后效性。很难设计状态。贪心什么的就更难了。
此时发现我们的路已经被堵死了。那就要从头开始考虑这个问题。
我们观察一下数据范围,
你突然想到
则上文的
其中
初始状态为
最后一个不完整的段要特殊处理,差别不大。
则段数
时间复杂度
以上内容纯属杜撰。