Concepts7

🗂️Data StructureAdvanced

Palindromic Tree (Eertree)

A Palindromic Tree (Eertree) stores every distinct palindromic substring of a string as a node and can be built online in linear time.

#palindromic tree#eertree#palindromic substrings+12
🗂️Data StructureAdvanced

Link-Cut Tree

A Link-Cut Tree (LCT) maintains a dynamic forest and supports link, cut, and path queries in O(log n) amortized time.

#link-cut tree#dynamic tree#splay tree+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

Disjoint Set Union (Union-Find)

Disjoint Set Union (Union-Find) maintains a collection of non-overlapping sets and supports fast merging and membership queries.

#disjoint set union#union-find#path compression+11
🗂️Data StructureIntermediate

Queue and Deque

A queue is a First-In-First-Out (FIFO) line where you add at the back and remove from the front in O(1) time.

#queue#deque#fifo+12
🗂️Data StructureIntermediate

Monotonic Deque

A monotonic deque is a double-ended queue that keeps elements in increasing or decreasing order so that the front always holds the current optimum (min or max).

#monotonic deque#sliding window maximum#sliding window minimum+12
🗂️Data StructureIntermediate

Monotonic Stack

A monotonic stack is a stack that keeps its elements in increasing or decreasing order to answer range queries in linear time.

#monotonic stack#next greater element#previous smaller element+12