⚠️ 窗口法和暴力法结果必须一样

把可变窗口版和暴力枚举所有子数组的版本都写出来,比较两者求出的最短长度。 一样输出 结果一致,否则输出 结果不一致。

开始练习 →

前缀和与差分是什么关系

前缀和与差分的关系是【0】。

开始练习 →

各自擅长什么

前缀和和差分的分工是【0】。

开始练习 →

差分怎么做区间加

要给区间 [l, r] 每个元素都加 v,在差分数组上的做法是【0】。

开始练习 →

两次区间加之后是什么样

五个位置全是 0,先给 [0,2] 每个加 5,再给 [1,3] 每个加 2。运行下面这段程序: def range_add(d, l, r, v): d[l] += v d[r + 1] -= v def restore

开始练习 →

差分省了多少

做 500 次区间修改、每次区间长 1000:暴力是逐个加,差分只动两格。运行下面这段程序: def brute(m, L): return m * L def diff_ops(m): return m * 2 pri

开始练习 →

写一个区间加

补全 range_add:在差分数组上给 [l, r] 每个元素加 v。 做两次区间加之后把还原结果拼起来输出。

开始练习 →

写一个还原

补全 restore:对差分数组求前缀和,还原出每个位置的真实值。

开始练习 →

⚠️ 差分和暴力结果必须一样

把差分版和逐个加的暴力版都写出来,做同样两次区间加,比较两者的结果。 一样输出 结果一致,否则输出 结果不一致。

开始练习 →

窗口移动时状态要怎么维护

窗口每移动一次,附带的状态(比如各元素出现次数)要【0】。

开始练习 →