综合:前缀和区间和
运行下面这段程序: 综合:前缀和 / 树状数组 / 线段树 / ST 表,按题目要求选对结构。 #include <algorithm> #include <iostream> #include <string
综合:ST 表区间最大
运行下面这段程序: 综合:前缀和 / 树状数组 / 线段树 / ST 表,按题目要求选对结构。 #include <algorithm> #include <iostream> #include <string
综合补全:前缀和公式
补全 range_sum 的区间和公式,求整段和。 综合:前缀和 / 树状数组 / 线段树 / ST 表,按题目要求选对结构。 (本题用 g++ -std=c++17 -O0 编译。)
综合补全:lowbit
补全 lowbit,求 lowbit(20)。 综合:前缀和 / 树状数组 / 线段树 / ST 表,按题目要求选对结构。 (本题用 g++ -std=c++17 -O0 编译。)
综合补全:线段树左边界
补全 seg_query 的左边界判断,求 a[1..3] 的和。 综合:前缀和 / 树状数组 / 线段树 / ST 表,按题目要求选对结构。 (本题用 g++ -std=c++17 -O0 编译。)
综合补全:ST 表取最大
补全 st_query 的两段取 max,求 [0,5] 的最大值。 综合:前缀和 / 树状数组 / 线段树 / ST 表,按题目要求选对结构。 (本题用 g++ -std=c++17 -O0 编译。)
限时题为什么用 -O2
限时题的 Makefile 用 -O2 编译,主要是为了【0】。
补写树状数组区间和
场景:实验机上 ~/work/rq/bit.cpp 按指令操作一个数组:add i v 把第 i 个数加上 v,sum l r 求第 l 到第 r 个的和(下标从 1 开始)。add 和 ask 两个函数还没写。 任务:补全树状数组的 ad
十万次区间最大值
场景:~/work/rq/rmq.cpp 读入 n 个数和 q 次询问,每次问第 l 到第 r 个里的最大值,最后输出所有答案的和。结果是对的,可 n、q 都到 10^5 时要跑很久。 任务:改写 rmq.cpp,让 n = q = 10^
线段树单点改区间查
场景:~/work/rq/seg.cpp 按指令操作:set i v 把第 i 个数改成 v,sum l r 求 [l, r) 的和(下标从 0 开始)。线段树的 update 和 query 还没写。 任务:补全迭代线段树的 update