Concepts318

🗂️Data StructureAdvanced

Treap

A treap is a binary search tree on keys combined with a heap on random priorities, which keeps the tree balanced in expectation.

#treap#randomized bst#fhq treap+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 StructureAdvanced

Segment Tree Beats

Segment Tree Beats is a segment tree variant that supports range chmin/chmax (clamping) together with queries like range sum, min, and max in amortized logarithmic time.

#segment tree beats#range chmin#range chmax+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 StructureAdvanced

Segment Tree - Handling Multiple Lazy Operations

When a segment tree supports multiple range updates, you must define how lazy tags compose, because the order of operations matters and composition is not commutative.

#segment tree#lazy propagation#range add+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 StructureAdvanced

Dynamic Segment Tree

A dynamic segment tree stores values over a huge coordinate range by creating nodes only when an operation touches their interval.

#dynamic segment tree#sparse segment tree#lazy propagation+12
🗂️Data StructureIntermediate

Trie (Prefix Tree)

A trie (prefix tree) stores strings or bit-sequences so that common prefixes share nodes, making operations depend on the key length L rather than the set size.

#trie#prefix tree#autocomplete+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
🗂️Data StructureIntermediate

2D Fenwick Tree

A 2D Fenwick Tree (Binary Indexed Tree) supports point updates and rectangle sum queries in O(log n × log m) time.

#2d fenwick tree#binary indexed tree 2d#bit 2d+12