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
Introduction
Chapter 2
Time complexity
Chapter 3
Sorting
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
Combinatorics
Chapter 23
Matrices
Chapter 24
Probability
Chapter 25
Game theory
Chapter 26
String algorithms
Chapter 27
Square root algorithms
Chapter 28
Segment trees revisited
Chapter 29
Geometry
Chapter 30
Sweep line algorithms
Book Details
Title
Competitive Programmer's Handbook
Subject
Computer Science
Publisher
Self-publishing
Published
2018
Pages
296
Edition
1
Language
English
PDF Size
1.6 MB
License
Open Publication License
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 ...
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...
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...
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...
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 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...