๐ŸŽ“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 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
12345
Advanced
#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
๐Ÿ—‚๏ธData StructureIntermediate

Fenwick Tree (Binary Indexed Tree)

A Fenwick Tree (Binary Indexed Tree) maintains prefix sums so you can update a single position and query a prefix in O(\log n) time with a tiny constant factor.

#fenwick tree#binary indexed tree#prefix sum+11
๐Ÿ—‚๏ธData StructureIntermediate

Sparse Table

A Sparse Table is a static range-query data structure that preprocesses an array in O(n \log n) time and answers many queries in O(1) time.

#sparse table#range minimum query#rmq+12
๐Ÿ—‚๏ธData StructureIntermediate

Rollback DSU

Rollback DSU (Disjoint Set Union with undo) lets you union sets and later revert to any previous state in LIFO order.

#rollback dsu#dsu with undo#union find+11
๐Ÿ—‚๏ธData StructureIntermediate

DSU with Weighted Edges

A DSU with weighted edges (also called a potential or difference-constraint union-find) maintains relative values between elements while still supporting near-constant-time merges and finds.

#dsu#union-find#weighted edges+11
๐Ÿ—‚๏ธ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

Policy-Based Data Structures

Policy-Based Data Structures (PBDS) are GNU C++ extensions that add advanced containers like an order-statistics tree, a fast hash table, and ropes for efficient string edits.

#policy based data structures#pbds#ordered set+12
๐Ÿ—‚๏ธData StructureIntermediate

Hash Table

A hash table stores keyโ€“value pairs and finds items in expected O(1) time using a hash function to map keys to buckets.

#hash table#unordered_map#unordered_set+12
๐Ÿ—‚๏ธData StructureIntermediate

Ordered Set and Map

std::set and std::map store elements in sorted order using a balanced binary search tree (typically a Red-Black Tree).

#ordered set#ordered map#std::set+12
๐Ÿ—‚๏ธData StructureIntermediate

Priority Queue (Heap)

A priority queue returns the highest-priority element first and is efficiently implemented by a binary heap.

#priority queue#binary heap#min-heap+11