🎓How I Study AIHISA
📖Read
📄Papers📰Blogs🎬Courses
💡Learn
🛤️Paths📚Topics💡Concepts🎴Shorts
🎯Practice
🧩Problems🎯Prompts🧠Review
Search

Concepts6

Category

🔷All∑Math⚙️Algo🗂️DS📚Theory

Level

AllBeginnerIntermediateAdvanced
Filtering by:
#lca
⚙️AlgorithmIntermediate

Problem Classification Patterns

Many competitive programming problems map to a small set of classic patterns; recognizing keywords and constraints lets you pick the right tool fast.

#problem classification#binary search on answer#two pointers+12
⚙️AlgorithmAdvanced

Block-Cut Tree

A Block-Cut Tree decomposes an undirected graph into biconnected components (blocks) and articulation points, forming a bipartite tree.

#block-cut tree#biconnected components#articulation points+11
⚙️AlgorithmAdvanced

Virtual Tree (Auxiliary Tree)

A Virtual Tree (Auxiliary Tree) compresses a large tree into a much smaller tree that contains only the k important nodes and the LCAs needed to keep them connected.

#virtual tree#auxiliary tree#lca+12
⚙️AlgorithmIntermediate

LCA - Binary Lifting

Binary lifting precomputes 2^k ancestors for every node so we can jump upward in powers of two.

#lca#binary lifting#tree+12
⚙️AlgorithmIntermediate

Bridge Tree

A bridge tree is built by contracting every 2-edge-connected component of an undirected graph into a single node, leaving only bridges as edges between nodes.

#bridge tree#2-edge-connected components#bridges+12
⚙️AlgorithmIntermediate

Tree Distances and Diameter

Tree diameter is the longest simple path in a tree and can be found with two BFS/DFS runs.

#tree diameter#tree center#eccentricity+12