补全:两段取最大
补全 st_query:答案是两段重叠区间的 max。补全后输出整段最大值。 本节模型:st_build(a) 建 ST 表,st_query(st, l, r) O(1) 求闭区间 a[l..r] 的最大值。 (本题用 g++ -std=
补全:合并两半
补全 st_build:上一层 = 下一层相邻两半的 max。补全后输出整段最大值。 本节模型:st_build(a) 建 ST 表,st_query(st, l, r) O(1) 求闭区间 a[l..r] 的最大值。 (本题用 g++ -
补全:第 0 层
补全 st_build:第 0 层就是数组本身。补全后输出 [1,3] 的最大值。 本节模型:st_build(a) 建 ST 表,st_query(st, l, r) O(1) 求闭区间 a[l..r] 的最大值。 (本题用 g++ -s
补全:查询层数 j
补全 st_query:j 是区间长度以 2 为底的对数(向下取整)。补全后输出 [1,3] 的最大值。 本节模型:st_build(a) 建 ST 表,st_query(st, l, r) O(1) 求闭区间 a[l..r] 的最大值。
带修改的区间和用什么
第 1 步:四种结构,三种需求 第 2 步:看第 1 行能做什么 第 3 步:看第 2 行能做什么 第 4 步:看第 3 行能做什么 第 5 步:看第 4 行能做什么 第 6 步:线段树最全能,也最难写 改 和 最值 前缀 树状 线段 ST
静态区间最值用什么
不带修改、反复查区间最值,最合适的是【0】。 综合:前缀和 / 树状数组 / 线段树 / ST 表,按题目要求选对结构。
综合:前缀和区间和
运行下面这段程序: 综合:前缀和 / 树状数组 / 线段树 / 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 编译。)