摘要: 前言 虽然分块是一种数据结构,但是我认为它更像一种思想:分部分处理序列。 虽然分块的时间复杂度一般比树状数组和线段树高,但是它能解决很多树状数组和线段树解决不了的事情。比如:树状数组和线段树在维护不满足区间可加、可减性的信息时显得吃力,代码实现也不简单直观。这时候,常常就要请出我们的分块大法啦。 它 阅读全文
posted @ 2024-01-23 19:55 Brilliant11001 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 引入 根据任意正整数关于 \(2\) 的不重复次幂的唯一分解原理性质,若一个正整数 \(x\) 的二进制表示为 \(a_{k - 1}a_{k - 2}\cdots a_2a_1a_0\),其中等于 \(1\) 的位是 \(\{a_{i_1},a_{i_2},\cdots ,a_{i_m}\}\), 阅读全文
posted @ 2024-01-23 19:54 Brilliant11001 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 简介: 线段树(\(\texttt {Segment Tree}\)) 是一种高级数据结构,是一种基于分治思想的二叉树结构,主要用来处理区间问题。它可以在 \(O(\log n)\) 的时间复杂度内维护序列中满足结合律的变量,例如:\(max\),\(min\),\(\sum\) 和 \(xor\) 阅读全文
posted @ 2024-01-23 19:53 Brilliant11001 阅读(9) 评论(0) 推荐(0) 编辑