Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy

Competitive Programmer's Handbook

by Antti Laaksonen

Competitive Programmer's Handbook

Subscribe to new books via telegram channel

DescriptionTable of ContentsDetailsReport an issue

Book Description

The purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but no previous background in competitive programming is needed.

The book is especially intended for students who want to learn algorithms and possibly participate in the International Olympiad in Informatics (IOI) or in the International Collegiate Programming Contest (ICPC). Of course, the book is also suitable for anybody else interested in competitive programming.

It takes a long time to become a good competitive programmer, but it is also an opportunity to learn a lot. You can be sure that you will get a good general understanding of algorithms if you spend time reading the book, solving problems and taking part in contests.

This open book is licensed under a Open Publication License (OPL). You can download Competitive Programmer's Handbook ebook for free in PDF format (1.6 MB).

Table of Contents

Part I
Basic techniques
Chapter 1
Chapter 2
Time complexity
Chapter 3
Chapter 4
Data structures
Chapter 5
Complete search
Chapter 6
Greedy algorithms
Chapter 7
Dynamic programming
Chapter 8
Amortized analysis
Chapter 9
Range queries
Chapter 10
Bit manipulation
Part II
Graph algorithms
Chapter 11
Basics of graphs
Chapter 12
Graph traversal
Chapter 13
Shortest paths
Chapter 14
Tree algorithms
Chapter 15
Spanning trees
Chapter 16
Directed graphs
Chapter 17
Strong connectivity
Chapter 18
Tree queries
Chapter 19
Paths and circuits
Chapter 20
Flows and cuts
Part III
Advanced topics
Chapter 21
Number theory
Chapter 22
Chapter 23
Chapter 24
Chapter 25
Game theory
Chapter 26
String algorithms
Chapter 27
Square root algorithms
Chapter 28
Segment trees revisited
Chapter 29
Chapter 30
Sweep line algorithms

Book Details

Competitive Programmer's Handbook
Computer Science
PDF Size
1.6 MB
Open Publication License

Related Books

The Gene Ontology Handbook
This book provides a practical and self-contained overview of the Gene Ontology (GO), the leading project to organize biological knowledge on genes and their products across genomic resources. Written for biologists and bioinformaticians, it covers the state-of-the-art of how GO annotations are made, how they are evaluated, and what sort of analyse...
Handbook of Mathematical Geosciences
This Open Access handbook published at the IAMG's 50th anniversary, presents a compilation of invited path-breaking research contributions by award-winning geoscientists who have been instrumental in shaping the IAMG. It contains 45 chapters that are categorized broadly into five parts (i) theory, (ii) general applications, (iii) exploration a...
Lisp Hackers
This book is a collection of short interviews with 14 prominent individuals from different parts of the world, from Australia to Canada, and of different occupations, from low-level programmers to physicists and musicians, asking them a more-or-less similar set of questions on the following topics: their general attitude to programming, attitude to...
Category Theory for Programmers
Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybod...
The NGINX Real-Time API Handbook
Discover how to deliver reliable, high-performance APIs with our NGINX Real-Time API Handbook. Compiled by leading experts on real-time API management, this handbook is a comprehensive guide to reducing latency in your applications and APIs without making any compromises. Learn why now, more than ever, your APIs need to perform in real time to meet...
Python Data Science Handbook
For many researchers, Python is a first-class tool mainly because of its libraries for storing, manipulating, and gaining insight from data. Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all - IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other relate...