Concepts106

Category

Level

Filtering by:
#competitive programming
⚙️AlgorithmIntermediate

Greedy Algorithms

Greedy algorithms build a solution step by step by always taking the best local choice available.

#greedy algorithms#activity selection#interval scheduling+12
⚙️AlgorithmIntermediate

Ternary Search

Ternary search finds the maximum or minimum of a unimodal function on a line by probing two interior points and discarding one third of the interval each step.

#ternary search#unimodal function#convex optimization+12
⚙️AlgorithmIntermediate

Binary Search

Binary search quickly finds targets or boundaries in sorted or monotonic data by halving the search interval each step.

#binary search#lower_bound#upper_bound+11
🗂️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

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
🗂️Data StructureIntermediate

Fenwick Tree - Range Update Range Query

A Fenwick Tree (Binary Indexed Tree) can support range additions and range sum queries by maintaining two trees, often called B1 and B2.

#fenwick tree#binary indexed tree#range add+12