Lulu.com, 2010. — 152 p.
First Edition of Competitive programming — covering topics over competitive programming.
Acknowledgments & Copyright.
Authors’ Profiles.
Convention.
Competitive Programming.
Tips to be Competitive.
Tip: Quickly Identify Problem Types.
Tip: Do Algorithm Analysis.
Tip: Master Programming Languages.
Tip: Master the Art of Testing Code.
Tip: Practice and More Practice.
Getting Started: Ad Hoc Problems.
Data Structures and Libraries.
Data Structures.
Data Structures with Built-in Libraries.
Linear Data Structures.
Non-Linear Data Structures (IOI syllabus excludes Hash Table).
Data Structures with Our-Own Libraries.
Graph.
Union-Find Disjoint Sets.
Segment Tree.
Problem-Solving Paradigms.
Complete Search.
Examples.
Tips.
Divide and Conquer.
Interesting Usages of Binary Search.
Greedy.
Classical Example.
Non Classical Example.
Remarks About Greedy Algorithm in Programming Contests.
Dynamic Programming.
DP Illustration.
Several Classical DP Examples.
Non Classical Examples.
Remarks About Dynamic Programming in Programming Contests.
Graph.
Overview and Motivation.
Depth First Search.
Breadth First Search.
Kruskal’s.
Dijkstra’s.
Bellman Ford’s.
Floyd Warshall’s.
Edmonds Karp’s (excluded in IOI syllabus).
Special Graphs.
Tree.
Directed Acyclic Graph.
Bipartite Graph (excluded in IOI syllabus).
Mathematics.
Overview and Motivation.
Ad Hoc Mathematics Problems.
Number Theory.
Prime Numbers.
Greatest Common Divisor (GCD) & Least Common Multiple (LCM).
Euler’s Totient (Phi) Function.
Extended Euclid: Solving Linear Diophantine Equation.
Modulo Arithmetic.
Fibonacci Numbers.
Factorial.
Java BigInteger Class.
Basic Features.
Bonus Features.
Miscellaneous Mathematics Problems.
Combinatorics.
Cycle-Finding.
Existing (or Fictional) Sequences and Number Systems.
Probability Theory (excluded in IOI syllabus).
Linear Algebra (excluded in IOI syllabus).
String Processing.
Overview and Motivation.
Ad Hoc String Processing Problems.
String Processing with Dynamic Programming.
String Alignment (Edit Distance).
Longest Common Subsequence.
Palindrome.
Suffix Tree and Suffix Array.
Suffix Tree: Basic Ideas.
Applications of Suffix Tree.
Suffix Array: Basic Ideas.
(Computational) Geometry.
Overview and Motivation.
Geometry Basics.
Graham’s Scan.
Intersection Problems.
Divide and Conquer Revisited.
Problem Credits.
We Want Your Feedbacks.