树状数组的下标从几开始

树状数组的下标习惯从【0】开始。 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a[0..i-1]。

开始练习 →

lowbit(12) 是多少

运行下面这段程序: 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a[0..i-1]。 #include <algorithm>

开始练习 →

树状数组的前缀和

运行下面这段程序: 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a[0..i-1]。 #include <algorithm>

开始练习 →

补全:lowbit

补全 lowbit:x & (-x)。补全后输出 lowbit(12)。 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a[0..i

开始练习 →

补全:查询往回跳

补全 bit_query:每一步 i -= lowbit(i)。补全后输出前 4 个的和。 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a

开始练习 →

补全:建树往上传

补全 bit_build:把 tree[i] 传给它的父区间。补全后输出前 5 个的和。 本节模型:lowbit(x) = x & (-x)、bit_build(a) 建树状数组、bit_query(tree, i) 求前缀和 a[

开始练习 →

十万个十亿加起来多大

10^5 个数、每个最大 10^9,区间和最大约【0】。

开始练习 →

大数组为什么开全局

第 1 步:一格约等于 10 亿 第 2 步:上:int 最多约 21 亿 第 3 步:十万个十亿:远远装不下 第 4 步:下:long long 有 90 亿亿 10^6 个 long long 的数组,常开在函数外面(全局),因为【0】

开始练习 →

读入一百万个数太慢

用 cin 读 10^6 个数太慢时,最常用的办法是【0】。

开始练习 →

两个二十亿相加

运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #include <vector> using nam

开始练习 →