ARC080D Prime Flip
题意:有无限枚硬币,其中有
每次可以选择一段区间
问最少多少次操作能使得所有硬币全部为背面朝上。可以证明一定有解。
先将原序列差分,问题变为可以在两个差为奇质数的位置
考虑将
若
为奇质数: 次操作。 若
为偶数:由哥德巴赫猜想, 次操作。 若
为奇合数:先随便整一个质数,然后转化为偶数的情况, 次操作。
(不难发现
于是,问题就被转化为了特殊的一般图最大权匹配。
由于权值的特殊性,可以贪心。
先尽量添加价值为
(若拆掉一个价值为
将被匹配掉的点取出。剩余的图中,也可以贪心地添加价值为
将所有点按照奇偶性分为两部分,每一部分内部都充满了
使用 Dinic 求解二分图匹配,复杂度