出题人来个A, B 的题解:
A: 考虑区间和本质上就是一段前缀和减去另一段前缀和,因此我们尽量让这个差值尽可能大即可,那就可以直接维护“前缀和数组 ” 的前缀最小值 和后缀最大值 ,每个 的答案就是 。
B: 考虑 ,同时 因此 ,两者要想前者大于等于后者,当且仅当取等号,即:。 而 ,说明 是 的因子。 ,说明 是 的倍数。
因此只需要预处理出 以内所有数字的倍数个数和因子个数(这步可以调和级数 )。 接着枚举 ,答案加上 的因子数乘 的倍数即可。
扫描二维码,关注牛客
下载牛客APP,随时随地刷题
全部评论
(1) 回帖