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
如果只有正数,那么显然的贪心是从大到小地打每个 ( m boss)。
同时不难发现先打值为正的 ( m boss) 也一定是更优的,那么现在就只需要考虑权值为负的 ( m boss) 了。
如果现在可以将积分重置为 (0),那么原问题就可以转化为:将所有 ( m boss) 放入 (k + 1) 个盒子,每个 ( m boss) 对答案的贡献为其所在盒子后的 ( m boss) 数量乘上其权值。
此时就不难发现一个非常简单的贪心了,将所有权值为负的 ( m boss) 依次填入当且 ( m boss) 数量最少且最靠前的盒子即可。