CF Round #687 Div2 简要题解

题面

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\) 数量最少且最靠前的盒子即可。

posted @ 2020-11-29 21:07  Achtoria  阅读(179)  评论(1编辑  收藏  举报