数组越界写会怎样

C++ 里往数组越界的位置写数据,通常会【0】。

开始练习 →

五个数用到的最大下标

对 5 个数建线段树(根是 1 号),看看用到的最大下标是多少。 运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #in

开始练习 →

十万个数的全局数组多大

开一个能装 10 万个数的线段树全局数组,看看它占多少 MB(整除取整)。 运行下面这段程序: #include <algorithm> #include <iostream> #include <map>

开始练习 →

六个数要用到几号格

补全 max_index:返回对区间 [l, r] 建线段树时用到的最大编号。输出 6 个数的线段树用到的最大编号。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

数一数 2n 不够的有几个

补全:统计 n = 1 到 1000 里,线段树用到的最大编号超过 2n 的 n 一共有多少个。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

在全局数组上建树

线段树数组 tr 已经开成全局的 4n。补全 gbuild,建好后查下标 1 到 3 的和。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

单点修改只走一条路

补全 gupdate:把下标 pos 的值改成 val,只沿着一条从叶子到根的路更新。把下标 2 改成 30 后查下标 1 到 3 的和。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

区间最大值查询

这次 tr 存的是区间最大值(已建好)。补全 gmax:查下标 1 到 3 的最大值(数都是正的,不搭边返回 -1)。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

树状数组解决什么问题

第 1 步:t[1..5]:每格管一小段 第 2 步:查前 3 个:从 i=3 出发 第 3 步:加上 t[3],i 减去 1 变成 2 第 4 步:加上 t[2],i 减去 2 变成 0 第 5 步:两格就凑齐了前 3 个 17 41 1

开始练习 →

lowbit 取的是什么(C++)

lowbit(x) 取的是【0】。

开始练习 →