Concepts8

🗂️Data StructureAdvanced

Sqrt Tree

A sqrt tree is a layered block-decomposition data structure that answers range queries in O(1) time after O(n \log \log n) preprocessing.

#sqrt tree#range query#associative operation+11
🗂️Data StructureAdvanced

Persistent Segment Tree

A persistent segment tree stores every historical version of an array-like data while supporting queries and updates in O(log n) time.

#persistent segment tree#path copying#kth smallest+12
🗂️Data StructureIntermediate

Merge Sort Tree

A Merge Sort Tree is a segment tree where every node stores the sorted list of values in its segment.

#merge sort tree#segment tree#range query+12
🗂️Data StructureIntermediate

Sqrt Decomposition

Sqrt decomposition partitions an array into about \(\sqrt{n}\) blocks, each of size about \(\sqrt{n}\), to speed up range queries and updates.

#sqrt decomposition#block decomposition#bucket decomposition+11
🗂️Data StructureIntermediate

Iterative Segment Tree

An iterative segment tree stores all leaves in tree[n..2n-1] and internal nodes in tree[1..n-1], enabling O(\log n) point updates and range queries without recursion.

#iterative segment tree#segment tree#non-recursive+12
🗂️Data StructureIntermediate

Binary Trie for XOR

A binary trie (also called a bitwise trie) stores numbers by their binary bits, branching on 0/1 at each level.

#binary trie#bitwise trie#xor+12
🗂️Data StructureIntermediate

Segment Tree with Lazy Propagation

A segment tree with lazy propagation supports fast range updates and range queries in O(\log n) time.

#segment tree#lazy propagation#range update+12
🗂️Data StructureIntermediate

Segment Tree Basics

A segment tree is a complete binary tree that stores information about array intervals to answer range queries and support point updates in O(log n).

#segment tree#range query#point update+11