窗口法和暴力法对一对

可变窗口版 min_len 已经给好。补全暴力版 brute_len(两层循环枚举所有子数组,取满足条件的最短),比较两者对 17 8 15 13 23 24 19 和目标 50 的结果。一样输出 结果一致,否则输出 结果不一致。 (本题用

开始练习 →

前缀和与差分什么关系

第 1 步:差分数组先全是 0 第 2 步:[0,2] 加 5:只改两格 第 3 步:[1,3] 加 2:只改两格 第 4 步:从左往右累加:还原出来 0 1 2 3 4 5 差分 还原 0 0 0 0 0 0 5 -5 2 -2 5 7

开始练习 →

前缀和与差分各擅长什么

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

开始练习 →

差分怎么做区间加

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

开始练习 →

两次区间加之后的样子

五个位置全是 0,先给 [0,2] 每个加 5,再给 [1,3] 每个加 2。运行下面这段程序: #include <algorithm> #include <iostream> #include <map&g

开始练习 →

差分省了多少次

做 500 次区间修改、每次区间长 1000:暴力是逐个加,差分只动两格。运行下面这段程序: #include <algorithm> #include <iostream> #include <map>

开始练习 →

写一个区间加

补全 range_add:在差分数组上给 [l, r] 每个元素加 v。做两次区间加之后把还原结果用 / 连起来输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

写一个还原

补全 restore:对差分数组求前缀和,还原出前 n 个位置的真实值。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

差分和暴力结果对一对

差分版已经给好。补全暴力版 brute_apply:开一个长 n 的数组,给 [0,2] 逐个加 5、[1,3] 逐个加 2。两边结果一样输出 结果一致,否则输出 结果不一致。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

窗口移动时状态怎么维护

第 1 步:窗口 abc:三种各 1 个 第 2 步:进 a 出 a 第 3 步:进 b 出 b 第 4 步:进 c 出 c 第 5 步:进 b 出 a 第 6 步:进 b 出 b 第 7 步:a 减到 0 了:键要删掉 a b c a b

开始练习 →