补全:左边界是奇数
补全 seg_query:左端是奇数时,要把这片叶子并进答案。补全后输出 a[1..3] 的和。 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](
补全:右边界累加
补全 seg_query:右端是奇数时,并进 tree[r]。补全后输出 a[1..3] 的和。 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](
线段树区间查询的复杂度
迭代线段树的区间查询是【0】。 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](左闭右开)的和。
左端是奇数时怎么办
第 1 步:8 个数的线段树 第 2 步:要第 2 到第 7 个的和 第 3 步:左边零头:单独一片叶子 第 4 步:中间整块:取两个大节点 第 5 步:右边零头:再一片叶子 第 6 步:只加了 4 个节点 31 9 22 4 5 14 8
区间 [1,4) 的和
运行下面这段程序: 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](左闭右开)的和。 #include <algorithm> #in
区间 [2,5) 的和
运行下面这段程序: 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](左闭右开)的和。 #include <algorithm> #in
补全:右端奇数判断
补全 seg_query:右端是奇数要并入。补全后输出 a[0..2] 的和。 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](左闭右开)的和。
补全:左端加上偏移
补全 seg_query:查询下标要加上叶子偏移 n。补全后输出 a[1..3] 的和。 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](左闭右开
补全:叶子要放原值
补全 seg_build 的叶子填充,查询才会对。补全后输出整段和。 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](左闭右开)的和。 (本题用
补全:右端累加
补全 seg_query:右端并入时累加 tree[r]。补全后输出 a[0..2] 的和。 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](左闭