1.淑芬采蘑菇
我们把新长出来的和原本就有的分开来计算
1.当k<=n时,我们收集到的所有新长出来的的蘑菇是一定的,因此我们需要最大化原来的蘑菇数量
很显然这就是一个定长最大子序列的问题(找出一段一定长度的序列,使它的序列和最大),前缀和求之,复杂度是o(n)
2.当k>n时,我们知道所有原来的蘑菇我都可以拿完,只需要考虑如何让新长的蘑菇最大化即可
既然长出来的蘑菇数量恒定,我们不妨考虑让拿不到的蘑菇最少
我们可以一直站在1,然后极限时刻扫完所有的,则拿不到的为最少的
2.皇帝
官方题解:
Codeforces Round #782 (Div. 2) Editorial - Codeforces
其实就是枚举所有最终迁都的点,因为一个一个的迁都过去收益总是最高的
我们