UnfairSugoroku

[ABC288D] Range Add Query

这道题考察了一个很重要的知识点:不变量

关于不变量的介绍,就在本题官方题解

不变量是指在操作或转换中不改变的性质。如果能找到适当的不变量,有时可以非常简单地解决问题。(找到不变量的问题很难,需要练习。)

这是官方的定义,我觉得非常有道理。

本题中,我们 将满足 imodK=jXi 的总和称为 Sj,则每连续 K 个数的 +c,必定会修改所有的 S,所以可以保证对于每个 j(1jK1),都有 S0Sj 不变。它就是不变量。

由于最后变为 0,所以 S0=S1=S2==SK1=0,而根据上述结论可以轻松得到初始时的状态是 S0=S1=S2==SK1。判断这个很简单,使用前缀和即可。

code

代码中的前缀和不包括右边界。

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/17492345.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(11)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起