另一组数的前缀和
运行下面这段程序: 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a[0..i-1]。 #include <algorithm>
补全:查询的初值
补全 bit_query:累加器从 0 开始。补全后输出前 3 个的和。 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a[0..i-1]。
补全:查询的循环条件
补全 bit_query:i > 0 才继续。补全后输出第 1 个数。 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a[0..i-1
补全:建树时往父区间跳
补全 bit_build:父区间下标是 j = i + lowbit(i)。补全后输出前 5 个的和。 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i)
线段树节点存什么
第 1 步:叶子放原数组 第 2 步:父亲 = 两个孩子之和 第 3 步:父亲 = 两个孩子之和 第 4 步:根管着整个数组 3 1 4 1 5 4 9 线段树每个内部节点存的是【0】。 本节模型:迭代线段树 seg_build(a) 返回
迭代线段树的叶子在哪
迭代线段树把原数组第 i 个元素放在 tree 的【0】。 本节模型:迭代线段树 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](左闭右开)的和。
线段树的整段和
运行下面这段程序: 本节模型:迭代线段树 seg_build(a) 返回 Seg{n, tree},seg_query(s, l, r) 求 a[l..r-1](左闭右开)的和。 #include <algorithm> #in
补全:叶子放到 n+i
补全 seg_build:叶子放在 tree[n + i]。补全后输出整段和。 本节模型:迭代线段树 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](左闭右开)的和。 (本题用 g