前三个数的和

数组是 17、24、15、13、23。 运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <str

开始练习 →

先把 lowbit 写出来

补全 lowbit:取出 x 二进制里最低那个 1 代表的值。算 lowbit(12)。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

建树状数组查前缀和

补全 fen_prefix:从下标 i 出发一路减 lowbit,把沿途的值加起来。查前 3 个数的和。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

任意一段区间的和

补全 fen_range:用两次前缀和相减求出区间 [l, r] 的和(下标从 1 开始)。求第 2 到第 4 个的和。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

改一个值前缀和跟着变

补全 fen_add:给第 i 个元素加上 v,沿途一路加 lowbit 往上更新。给第 2 个加 10,然后重新查前 3 个的和。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

它说在意味着什么

布隆过滤器返回「在」的时候,实际含义是【0】。

开始练习 →

它说不在意味着什么

布隆过滤器返回「不在」的时候,实际含义是【0】。

开始练习 →

能不能从里面删元素

第 1 步:8 位,一开始全是 0 第 2 步:加进 17:置上它的位 第 3 步:加进 24:置上它的位 第 4 步:加进 15:置上它的位 第 5 步:查 13:它的两位是 5 和 7 第 6 步:都被 15 置过了:误判 0 0 0

开始练习 →

查一个真的加过的

8 位的布隆过滤器,两个哈希函数:k % 8 和 (k * 3) % 8。已经加进了 17、24、15。 运行下面这段程序: #include <algorithm> #include <iostream> #inc

开始练习 →

查一个从没加过的

同一个过滤器。 运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #inc

开始练习 →