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 ContentsDetailsHashtagsReport 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

Book Hashtags

Related Books

The Data Journalism Handbook
When you combine the sheer scale and range of digital information now available with a journalist's "nose for news" and her ability to tell a compelling story, a new world of possibility opens up. With The Data Journalism Handbook, you'll explore the potential, limits, and applied uses of this new and fascinating field. This ...
The Official Raspberry Pi Handbook 2023
Discover the true potential of Raspberry Pi with the new, official Handbook 2023. With over 200 pages of amazing projects, fun tutorials, practical guides, and clear reviews, it has everything you need to master Raspberry Pi! Inside The Official Raspberry Pi Handbook 2023 - QuickStart guide to setting up your Raspberry Pi computer - Make stuff...
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...