[ABC037C] 総和 题解
注意到暴力是 级别,某岛国时间限制 ,可以过去,但明显不是正解。
题解区有暴力,还有尺取法,但我认为这其实是算贡献模板。题解区唯一算贡献的题解没有给证明,而且容易写错,这篇题解将会更加简单。
考虑每个数字的计算次数,可以枚举开始节点,然后逐一修改,但这与暴力的复杂度是一样的,可以考虑用差分优化,即:
for(int i = 1; i <= n - k + 1; i ++){
c[i] ++; c[i + k] --;
}
用前缀和得出最终次数:
for(int i = 1; i <= n; i ++) c[i] += c[i - 1];
计算相乘即可。
posted on 2024-12-19 22:20 zhangzirui66 阅读(13) 评论(0) 收藏 举报 来源