1前缀和回顾
a=1 2 3 4,s[3] 是多少?a[2..4] 是多少?
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
a=1 2 3 4,s[3] 是多少?a[2..4] 是多少?
修改 a[2] 后,前缀和数组需要更新哪些位置?
lowbit(8)?lowbit(20)?
手算 6 & (-6)(按 4 位补码)。
c[8] 管 a 的哪一段?c[7] 呢?
n=8 时,add(3,…) 会依次更新哪些下标?
sum(7) 会累加哪些 c?
用 sum 表示 a[3..7] 的和。
对 [2,4] 加 5,需要做哪两次 add?
序列 3 1 2 有几个逆序对?
区间最大值能像树状数组那样用“前缀差”求出来吗?
[1,4] 的根往下分成哪两个子区间?
节点 5 的两个孩子编号是多少?
一棵管理 8 个数的线段树,根节点管的是哪几个数?
若线段树维护区间最小值,pushup 该怎么写?
改一个叶子,一共要更新几个节点?
若当前节点区间与查询区间完全无交,该怎么办?
为什么"完全落在区间内"时可以直接返回,不用再往下递归?
求区间最大值时,无交节点应返回什么?
打了懒标记的节点,它的孩子此刻是最新的吗?
下放后父节点的懒标记应变成什么?
递归进入孩子之前必须先做什么?
要找“右边第一个更大”,栈里应保持递增还是递减?
序列 2 1 3,元素 1 的下一个更大(值)是谁?
n 个元素,单调栈总的入栈加出栈操作数量级是多少?
柱状图求最大矩形,对每根柱子要找它左右第一个“更矮”还是“更高”?
求窗口最大值,队列里下标对应的值应保持怎样的单调性?
判断队首过期的条件是什么?
队列里存下标还是存值更方便判断过期?
求窗口最小值时,队尾应弹出哪些元素?