๐ŸŽ“How I Study AIHISA
๐Ÿ“–Read
๐Ÿ“„Papers๐Ÿ“ฐBlogs๐ŸŽฌCourses
๐Ÿ’กLearn
๐Ÿ›ค๏ธPaths๐Ÿ“šTopics๐Ÿ’กConcepts๐ŸŽดShorts
๐ŸŽฏPractice
๐Ÿ“Daily Log๐ŸŽฏPrompts๐Ÿง Review
SearchSettings
How I Study AI - Learn AI Papers & Lectures the Easy Way

Concepts53

Groups

๐Ÿ“Linear Algebra15๐Ÿ“ˆCalculus & Differentiation10๐ŸŽฏOptimization14๐ŸŽฒProbability Theory12๐Ÿ“ŠStatistics for ML9๐Ÿ“กInformation Theory10๐Ÿ”บConvex Optimization7๐Ÿ”ขNumerical Methods6๐Ÿ•ธGraph Theory for Deep Learning6๐Ÿ”ตTopology for ML5๐ŸŒDifferential Geometry6โˆžMeasure Theory & Functional Analysis6๐ŸŽฐRandom Matrix Theory5๐ŸŒŠFourier Analysis & Signal Processing9๐ŸŽฐSampling & Monte Carlo Methods10๐Ÿง Deep Learning Theory12๐Ÿ›ก๏ธRegularization Theory11๐Ÿ‘๏ธAttention & Transformer Theory10๐ŸŽจGenerative Model Theory11๐Ÿ”ฎRepresentation Learning10๐ŸŽฎReinforcement Learning Mathematics9๐Ÿ”„Variational Methods8๐Ÿ“‰Loss Functions & Objectives10โฑ๏ธSequence & Temporal Models8๐Ÿ’ŽGeometric Deep Learning8

Category

๐Ÿ”ทAllโˆ‘Mathโš™๏ธAlgo๐Ÿ—‚๏ธDS๐Ÿ“šTheory

Level

AllBeginnerIntermediate
๐Ÿ—‚๏ธData StructureAdvanced

Aho-Corasick Automaton

Ahoโ€“Corasick is a trie with failure links that finds all occurrences of many patterns in a single pass over the text.

#aho-corasick#multi-pattern matching#trie+12
๐Ÿ—‚๏ธData StructureAdvanced

Suffix Array - LCP Array Applications

The LCP (Longest Common Prefix) array, built alongside a suffix array, unlocks fast solutions to problems like longest repeated substring, number of distinct substrings, and longest common substring.

#suffix array
12345
Advanced
#lcp array
#kasai algorithm
+12
๐Ÿ—‚๏ธData StructureAdvanced

Euler Tour Tree

An Euler Tour Tree represents each rooted tree as a DFS open/close sequence so that every subtree is a single contiguous interval.

#euler tour tree#implicit treap#dynamic forest+11
๐Ÿ—‚๏ธData StructureAdvanced

Suffix Array

A suffix array stores the starting indices of all suffixes of a string in lexicographic order.

#suffix array#lcp array#kasai algorithm+11
๐Ÿ—‚๏ธ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

Centroid Decomposition - Distance Queries

Centroid decomposition splits a tree into levels by repeatedly removing a centroid so that each remaining component is at most half the size.

#centroid decomposition#tree distance queries#nearest red node+12
๐Ÿ—‚๏ธData StructureAdvanced

Centroid Decomposition

Centroid decomposition splits a tree around a special node (centroid) so that every remaining component has at most half the nodes.

#centroid decomposition#centroid tree#tree algorithms+11
๐Ÿ—‚๏ธData StructureAdvanced

HLD - Path Queries and Updates

Heavy-Light Decomposition (HLD) breaks a tree into a small number of vertical chains so any path (u,v) becomes O(log n) contiguous segments in an array.

#heavy light decomposition#hld#path query+12
๐Ÿ—‚๏ธData StructureAdvanced

Wavelet Tree

A wavelet tree is a recursive data structure built over a sequenceโ€™s alphabet that answers rank, select, and quantile (k-th smallest) queries in O(log ฯƒ) time, where ฯƒ is the number of distinct values.

#wavelet tree#wavelet matrix#rank select+11
๐Ÿ—‚๏ธData StructureAdvanced

Heavy-Light Decomposition

Heavy-Light Decomposition (HLD) breaks a tree into O(n) disjoint chains so that any root-to-node path crosses only O(log n) chains.

#heavy light decomposition#hld c++#segment tree on tree+10
๐Ÿ—‚๏ธData StructureAdvanced

Persistent Array and Treap

Persistence lets you keep every past version of a data structure while making O(log n) updates and queries on any version.

#persistent array#persistent segment tree#treap+12
๐Ÿ—‚๏ธData StructureAdvanced

Splay Tree

A splay tree is a self-adjusting binary search tree that moves the most recently accessed node to the root with rotations.

#splay tree#self-adjusting bst#zig+12