Skip to content

PhilipSanM/Competitive-Prgrmrs-Handbook

Repository files navigation

Competitive-Prgrmr-s-Handbook

(Competitive Programmer's Handbook)

What Is Competitive Programming?

Competitive programming combines two topics: the design of algorithms and the implementation of algorithms.

Design of Algorithms The core of competitive programming is about inventing efficient algorithms that solve well-defined computational problems. The design of algorithms requires problem-solving and mathematical skills. Often a solution to a problem is a combination of well-known methods and new insights

Implementation of Algorithms In competitive programming, the solution to problems are evaluated by testing an implemented algorithm using a ser of test cases. Thus, after coming up with an algorithm that solves the problem, the next step is to correctly implement it, which requires good programming skills. Competitive programing greatly differs from traditional software engineering. Programs are short (usually at most some hundreds of lines), they should be written quickly, and it is not needed to maintain them after the contest.