06 2021 档案

摘要:虽然用的都是树状数组, 但我的方法似乎和其他题解有点不太一样( 简化题意, 将题目转化为这个问题: 给定一个数列 \(s\), 求在$s$中有多少组数$(a,b,c)$满足$a<b<c$且$s_a<s_b<s_c$或$s_a>s_b>s_c$ 对$s_a<s_b<s_c$和$s_a>s_b>s_c$ 阅读全文
posted @ 2021-06-28 23:39 dbg_8 阅读(80) 评论(0) 推荐(0)
摘要:引入 给定一个长度为 \(n\) 的数列,\(A_1,A_2,…,A_{n-1},A{n}\),支持以下两种操作 \(add(x, y)\) 使得 $A_x$的值加上 \(y\) \(query(x)\) 求得 $\Sigma_^ A_i$的值 如果只有操作 2 的话, 大多数人都能立即想到使用 前 阅读全文
posted @ 2021-06-28 17:41 dbg_8 阅读(98) 评论(0) 推荐(0)
摘要:定义 对于一个数 x, 将其转化为二进制后的从右往左数的第一个 1 的位数即是 lowbit(x) 举几个个例子吧: \((6)_{10} = (0000\,0110)_2\) , 那么 \(lowbit(6) = 2\) \((9)_{10} = (0001\,0001)_2\) , 那么 \(l 阅读全文
posted @ 2021-06-28 17:23 dbg_8 阅读(951) 评论(0) 推荐(0)
摘要:引入 (RMQ问题) RMQ (Range Minimum/Maximum Query):询问区间内的最小/最大值 具体要求: 出一个 $n$ 个元素的数组 $A1 ,A2 , …, An$, 设计一个数据结构, 支持查询操作 $query(L, R)$, 计算 $min(A_L, A_{L+1}, 阅读全文
posted @ 2021-06-26 21:28 dbg_8 阅读(406) 评论(0) 推荐(0)
摘要:左移运算符 << a << b, 指将 a 转化为二进制后将所有数字向左移动 b 位, 末尾用 0 补齐. 可以简单理解为在末尾添上 b 个 0 的操作. 举例 1 << 3 = 8 这里二进制的 1 变为 1000, 即十进制的 1 变为 8. 3 << 4 = 48 这里二进制的 11 变为 1 阅读全文
posted @ 2021-06-25 18:06 dbg_8 阅读(1949) 评论(0) 推荐(0)