Blog

Algorithms

Every BIAA article and guide on Algorithms.

Algorithms

Binary Search for Competitive Programming

Master binary search for competitive programming with BIAA: learn the monotonic predicate pattern, binary search on the answer, STL helpers, and how to avoid bugs.

Algorithms

Graph Algorithms for Competitive Programming: A Student's Roadmap

A clear roadmap to graph algorithms for competitive programming, from BFS to flow networks. BIAA shows how each maps to USACO divisions and contest skill.

Algorithms

Dynamic Programming Explained for Competitions

Learn dynamic programming for competitive programming with BIAA: optimal substructure, memoization vs tabulation, classic patterns, and how DP shows up in contests.

Algorithms

Essential Data Structures for Competitive Programming

A clear guide to the essential data structures competitive programming students need, from arrays to segment trees. BIAA maps each one to real contest skills.

Algorithms

Number Theory for Competitive Programming: A Student's Roadmap

A clear guide to number theory for competitive programming: GCD, primes, modular arithmetic, and inverses. Build the math toolkit BIAA students use to climb the ranks.

Algorithms

Prefix Sums and Difference Arrays Explained

Learn prefix sums for competitive programming and the difference array trick for fast range queries and updates. A clear, practical BIAA guide for students.

Algorithms

Recursion and Backtracking for Competitive Programming

Learn recursion backtracking competitive programming techniques: how they work, where they appear in contests, and how BIAA students train to master them.

Algorithms

Greedy Algorithms for Competitive Programming

Learn how greedy algorithms work in competitive programming, when they're correct, and how to prove it. A practical guide from BIAA for ambitious K-12 coders.

Algorithms

Bitmask Competitive Programming: A Practical Guide

Learn bitmask competitive programming with BIAA: bitwise tricks, subset enumeration, and bitmask DP for USACO Gold, with practical tips for students.

Algorithms

String Algorithms for Competitive Programming: A Practical Guide

A practical BIAA guide to string algorithms for competitive programming: hashing, KMP, Z-algorithm, tries and suffix arrays, with USACO study tips.

Algorithms

Two Pointers and Sliding Window Explained

Learn the two pointers sliding window pattern: how it cuts O(n²) brute force to O(n), when to use each, and how BIAA students master it for USACO and contests.

Algorithms

Segment Trees Explained for Competitive Programming

Learn the segment tree for competitive programming: range queries, point and range updates, and lazy propagation, explained step by step by BIAA coaches.