Competitive Programming in C++: The Keys to Success

Gain insights into competitive programming, explore C++ skills with theory, code samples, practice problems, and master faster implementation for contests like ACM ICPC, Google CodeJam, and HackerCup.

Beginner

78 Lessons

5h

Certificate of Completion

Gain insights into competitive programming, explore C++ skills with theory, code samples, practice problems, and master faster implementation for contests like ACM ICPC, Google CodeJam, and HackerCup.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

40 Playgrounds

This course includes

40 Playgrounds

Course Overview

Competitive programming can be a great way to build out your programming skills, get on any major company’s radar, and earn a little extra cash along the way. In this course, you will learn to prepare for competitive programming contests like ACM ICPC, Google CodeJam, Facebook HackerCup, and many more. Each topic is broken down with a healthy mix of theory, code samples, step-by-step solved sample problems, illustrations, useful practice problems, and tips and tricks for faster implementation. You will n...Show More

Course Content

1.

Introduction

Get familiar with competitive programming essentials, C++ techniques, built-in methods, and efficient I/O handling.
2.

Complexity Analysis

Walk through analyzing algorithm complexity, runtime categories, and their impact on competitive programming.
3.

Number Theory

Examine key number theory concepts, including algebraic formulas, set theory, geometry, progressions, permutations, combinations, and prime factorization.
4.

Arrays and Vectors

Grasp the fundamentals of arrays, vectors, and solving array-related problems efficiently.
5.

Sieve of Eratosthenes

Map out the steps for Sieve of Eratosthenes, its implementation, complexity, and segmented variant.
6.

Strings

4 Lessons

Investigate string manipulation, STL methods, and solve complex palindrome and number comparison problems.
7.

Sorting

8 Lessons

Build on foundational sorting techniques and library functions for competitive coding.
8.

Linked List

4 Lessons

Break down linked lists, including arrays comparison, and singling out searching, insertion, and deletion.
9.

Stack

4 Lessons

Get started with stack data structure, its operations, implementation, STL use, and practical applications.
10.

Queue

3 Lessons

Master the steps to using and implementing queues in competitive programming with C++.
11.

Binary Tree

3 Lessons

Grasp the fundamentals of binary trees, their types, and their uses in competitive programming.
12.

2 Pointers

2 Lessons

Solve problems in competitive programming using the efficient two-pointer technique.
13.

Heap

6 Lessons

Simplify complex topics on heap properties, implementation, complexity, STL usage, and solved problems.
14.

Binary Search Tree

7 Lessons

Master the steps to understanding, searching, inserting, traversing, and deleting nodes in a Binary Search Tree.
15.

Balanced Binary Search Tree

4 Lessons

Learn how to use balanced binary search trees for efficient data structures in competitions.
16.

Course Conclusion

1 Lesson

Look at the importance of programming contests, upsolving, and future advanced topics.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor