CF Round #687 Div2 简要题解

2023-05-20,,

题面

A

可以发现,最远的几个人一定是 \((1, 1), (1, m), (n, 1), (n, m)\) 中的一个,直接计算即可。

B

注意到颜色数量很少,直接暴力枚举最终的颜色后模拟即可。

C

本质上删除第一个位置就是将初始的 \(p + 1\),于是可以考虑直接枚举会将初始位置往后挪几位,需要的操作一次数就是 \(p\) 之后模 \(k\) 与 \(p\) 同余的位置中 \(0\) 的数量。

直接记录一个模意义下的前缀和,再在枚举 \(p\) 初始位置时维护另一个模意义下的前缀和即可。

D

可以发现,若出现连续三个数的最高位相同,必能通过操作后两个数使得答案为 \(1\)。

仔细分析可以发现,最高位最慢的增长也是每两位增长 \(1\),因此如果这个序列答案不为 \(1\) 一定满足长度不大于 \(60\)。

那么就可以直接暴力枚举了,需要注意的是,可能出现消 \([i, j], [j + 1, k]\) 这两个区间的情况。

E

如果只有正数,那么显然的贪心是从大到小地打每个 \(\rm boss\)。

同时不难发现先打值为正的 \(\rm boss\) 也一定是更优的,那么现在就只需要考虑权值为负的 \(\rm boss\) 了。

如果现在可以将积分重置为 \(0\),那么原问题就可以转化为:将所有 \(\rm boss\) 放入 \(k + 1\) 个盒子,每个 \(\rm boss\) 对答案的贡献为其所在盒子后的 \(\rm boss\) 数量乘上其权值。

此时就不难发现一个非常简单的贪心了,将所有权值为负的 \(\rm boss\) 依次填入当且 \(\rm boss\) 数量最少且最靠前的盒子即可。

CF Round #687 Div2 简要题解的相关教程结束。

《CF Round #687 Div2 简要题解.doc》

下载本文的Word格式文档,以方便收藏与打印。