awesome-competitive-programming
Competitive Programming Resource Hub
A curated collection of resources for competitive programming and algorithm learning
A curated list of awesome Competitive Programming, Algorithm and Data Structure resources
13k stars
429 watching
3k forks
last commit: 5 months ago
Linked from 6 awesome lists
algorithmawesomeawesome-listcompetitive-programmingcontestdata-structurelearning-materialslistpracticeprogramming-contestsquorareference-materials
Awesome Competitive Programming / List of Lists | |||
Good Blog Post Resources about Algorithm and Data Structures - Codeforces | |||
All of the good tutorials found on codeforces - Codeforces | |||
Data Structures and Algorithms - CodeChef Discuss | |||
How to prepare for ACM - ICPC? - GeeksforGeeks | |||
Awesome Competitive Programming / Syllabuses | |||
IOI Syllabus | |||
How to prepare for ACM - ICPC? - GeeksforGeeks | |||
Programming Camp Syllabus | |||
Juniors Training Sheet | , by | ||
Awesome Competitive Programming / Tutorial Websites | |||
Topcoder Data Science Tutorials | |||
E-Maxx (Russian) | , | ||
Algorithms - GeeksforGeeks | |||
PEGWiki | |||
Notes - HackerEarth | |||
Code Monk | A great crowdsourcing platform for tutorials. Also visit | ||
USA Computing Olympiad (USACO) | |||
basecs | |||
Competitive Programming - Commonlounge | |||
OLYMPIADS IN INFORMATICS | |||
algolist (Russian) | |||
演算法筆記 (Algorithm Notes) (Chinese) | |||
国家集训队论文 1999-2015 (Papers from Chinese IOI training camps) (Chinese) | |||
Mini-Editorials | 396 | about 4 years ago | , by trainees |
OI Wiki (Competitive Programming) (Chinese) | |||
Awesome Competitive Programming / Open Courses | |||
Code Monk | , by HackerEarth | ||
Stanford CS 97SI: Introduction to Competitive Programming Contests | |||
How to Win Coding Competitions: Secrets of Champions | |||
Codechef's Indian Programming Camp | |||
Codechef's Indian Programming Camp 2016 | Video Lectures from . Lectures given by top competitive programmers like Sergey Kulik, Kevin Charles Atienza and Anudeep Nekkanti. Primarily focused on exploring these concepts by applying them to actual competitive contest problems | ||
Reykjavik T-414-ÁFLV: A Competitive Programming Course | |||
Bjarki Ágúst Guðmundsson (SuprDewd) | An awesome course taught by . These lectures feature neat slides and a nice list of problems to practice | ||
NCTU DCP4631: Problem Solving and Programming Techniques | |||
Materials (English) | 1,490 | about 1 year ago | from |
Awesome Competitive Programming / Open Courses / Open Courses for Algorithms and Data Structures | |||
prakhar1989/awesome-courses#algorithms | 57,558 | over 1 year ago | |
MIT SMA 5503: Introduction to Algorithms | |||
UIUC Algorithm Course | |||
Awesome Competitive Programming / Books | |||
Competitive Programming | , by Steven and Felix Halim | ||
download (pdf) | This book contains a collection of relevant data structures, algorithms, and programming tips. It's a well-received book. ... The first edition is free for | ||
Programming Challenges: The Programming Contest Training Manual | , by Steven Skiena and Miguel Revilla | ||
Competitive Programmer's Handbook | , by Antti Laaksonen | ||
download (pdf) | An introduction to competitive programming for aspiring IOI and ICPC contestants. Free to | ||
Algorithmic Thinking: A Problem-Based Introduction | , by Daniel Zingaro | ||
Computational Geometry: Algorithms and Applications | , by Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars | ||
The Hitchhiker’s Guide to the Programming Contests | , by Nite Nimajneb | ||
download (pdf) | This book is free for . This book covers various topics relevant to competitive programming | ||
プログラミングコンテストチャレンジブック (Japanese) | , by 秋葉拓哉, 岩田陽一, 北川宜稔 | ||
算法竞赛入门经典 (Chinese) | , by 刘汝佳 | ||
算法竞赛入门经典——训练指南 (Chinese) | , by 刘汝佳, 陈锋 | ||
算法艺术与信息学竞赛 (Chinese) | , by 刘汝佳, 黄亮 | ||
Awesome Competitive Programming / Books / Books for Algorithms | |||
Introduction to Algorithms | , by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein | ||
Algorithm Design | , by Jon Kleinberg and Éva Tardos | ||
official website | This book revolves around techniques for designing algorithms. It's well-organized and written in a clear, understandable language. Each chapter is backed with practical examples and helpful exercises. The chapter on network flow is highly praised by lots. ... The lecture slides that accompany the textbook are available on its | ||
The Algorithm Design Manual | , by Steven S. Skiena | ||
official website | The book is written in more readable text. Some find it comprehensive than other books. You can also find some good resources (including the author's own video lectures) on its | ||
Algorithms | , by Robert Sedgewick and Kevin Wayne | ||
Algorithms and Data Structures in Action | , by Marcello La Rocca | ||
Algorithms | , by Jeff Erickson | ||
Awesome Competitive Programming / Books / Books for Mathematics | |||
Discrete Mathematics and Its Applications | , by Kenneth H. Rosen | ||
Concrete Mathematics: A Foundation for Computer Science | , by Ronald L. Graham, Donald E. Knuth, Oren Patashnik | ||
Linear Algebra and Its Applications | , by David C. Lay, Steven R. Lay, Judi J. McDonald | ||
Introduction to Probability | , by Charles M. Grinstead, J. Laurie Snell | ||
download (pdf) | This is a well-written introductory probabilities book. ... It's free for (released under GNU Free Documentation License) | ||
How to Solve It: A New Aspect of Mathematical Method | , by G. Polya | ||
Intermediate Counting & Probability | , by David Patrick | ||
Awesome Competitive Programming / Sites for Practice | |||
Codeforces | |||
Topcoder | |||
Google Code Jam | |||
AtCoder | |||
CodeChef | |||
SPOJ | |||
Timus | |||
HDU | |||
Aizu Online Judge | |||
UVa | |||
uHunt | An old-school problem archive / online judge with rich history. Thousands of problems, including many classic ones, are featured here. However, it is strongly advised that you practice with following its "Competitive Programming Exercise" section | ||
HackerRank | |||
POJ | |||
Project Euler | |||
Hackerearth | |||
Caribbean Online Judge | |||
CS Academy | |||
Russian Code Cup | |||
CodeFights | |||
OmegaUp | (Spanish) | ||
Awesome Competitive Programming / Sites for Practice / Problem Classifiers | |||
A2 Online Judge | |||
Problem Classifier | |||
UVa Online Judge | |||
Codeforces Tags | |||
HackerRank | |||
Juniors Training Sheet | , by | ||
Lucky貓的 UVA(ACM)園地 (Chinese) | |||
Topcoder problem archive | |||
Awesome Competitive Programming / Sites for Practice / Contest Calendars | |||
Programming Contest Calendar - HackerRank | |||
clist.by | |||
Coding Calendar (Android App) | |||
Coder's Calendar | 337 | over 5 years ago | : , , |
CodeHorizon | : , | ||
Competitive Programming Contests Calendar | |||
Awesome Competitive Programming / Sites for Questions | |||
Codeforces | |||
Competitive Programming - Quora | |||
Theoretical Computer Science Stack Exchange | |||
Awesome Competitive Programming / Sites for Questions / Camps and Trainings | |||
Online Free Problem-Solving Coaching | , by | ||
Awesome Competitive Programming / Implementations | |||
CodeLibrary | , by Andrey Naumenko (indy256) | ||
GitHub Repository | 1,939 | 3 months ago | CodeLibrary contains a large collection of implementations for algorithms and data structures in Java and C++. You may also visit his |
spaghetti-source/algorithm | 780 | about 3 years ago | , by Takanori MAEHARA (@tmaehara) |
kth-competitive-programming/kactl | 2,732 | 25 days ago | , by Simon Lindholm (simonlindholm) et al |
jaehyunp/stanfordacm | 1,606 | almost 4 years ago | |
ngthanhtrung23/ACM_Notebook_new | 425 | 6 months ago | , by team RR Watameda (I_love_Hoang_Yen, flashmt, nguyenhungtam) from National University of Singapore |
bobogei81123/bcw_codebook | 110 | over 3 years ago | , by team bcw0x1bd2 (darkhh, bobogei81123, step5) from National Taiwan University |
foreverbell/acm-icpc-cheat-sheet | 165 | over 6 years ago | , by foreverbell (foreverbell) |
igor's code archive | , by Igor Naverniouk (Abednego) | ||
Awesome Competitive Programming / Language Specifics / C/C++ | |||
Power up C++ with the Standard Template Library - Topcoder: Part 1 | , | ||
Yet again on C++ input/output - Codeforces | |||
C++ Tricks - Codeforces | |||
C++ STL: Policy based data structures - Codeforces: Part 1 | , | ||
here | Detailed introduction to the extra data structures implemented in GNU C++. The official documentation can be found | ||
C++11 FAQ (English, Chinese, Russian, Japanese, Korean) | |||
Awesome Competitive Programming / Language Specifics / Java | |||
How to read input in Java — tutorial - Codeforces | |||
How to sort arrays in Java and avoid TLE - Codeforces | |||
BigNum arithmetic in Java — Let's outperform BigInteger! - Codeforces | |||
EZ Collections, EZ Life (new Java library for contests) - Codeforces | |||
Awesome Competitive Programming / Language Specifics / Miscellaneous | |||
Bit Twiddling Hacks | |||
Comparing Floating Point Numbers, 2012 Edition - Random ASCII | |||
Object-Oriented C Style Languages: C++, Objective-C, Java, C# - a side-by-side reference sheet | |||
Awesome Competitive Programming / Tools / IDEs | |||
Vim | |||
Emacs | |||
Far Manager | |||
FarColorer | Far Manager is the most widely-used editor in the RU/CIS competitive programming community. It's actually a file manager in its bare bones, but you can install - a syntax highlighter plugin to program on it. Properly configured, Far Manager allows you to navigate between files very efficiently while writing your codes | ||
Code::Blocks | |||
IntelliJ IDEA | |||
CHelper | IntelliJ IDEA is certainly one of the best IDEs for Java. It's used by most competitive programmers who use Java as their main language. Be sure to check out , a very handy plugin written for programming contests | ||
Sublime Text | |||
Package Control | Sublime Text is an extraordinary text editor. Packed with powerful and innovative features like Multiple Carets, Minimaps and Command Palletes, it attracts a strong and engaging community. Sublime Text is highly extensible, so be sure to have installed and explore perhaps one of the largest catalogue of plugins! | ||
Eclipse | |||
CLion | |||
EAP (Early Access Program) | CLion, produced by JetBrains - the same company who made Intellij IDEA, is a powerful IDE for C++. Free educational licenses are available OR you can try out their which is still free as of Apr, 2018. You may want to turn off its code inspection feature as it will cause quite a bit of lag | ||
Visual Studio | is the IDE to use in case you want to code in C#. ... Both and are built with Electron (written in JavaScript) and therefore somewhat resource-hogging. ... is a newly rising IDE. Beware that the load-up and project-creation times can be extraordinary | ||
Awesome Competitive Programming / Tools / Personal use | |||
VisuAlgo | |||
CHelper | General Practice Helpers: ... (IntelliJ IDEA) ( ) ... (Visual Studio, CodeLite, standalone command line app) ... (AppCode, CLion) (Stand alone CLI tool, It is actively maintained.) | ||
Codeforces Parser | 137 | over 2 years ago | Codeforces Parsers: ... ... ... (emacs) (cli) |
The On-Line Encyclopedia of Integer Sequences (OEIS) | |||
tohtml.com | Syntax Highlighters: ... ... | ||
Ideone.com | Code Sharing: ... ... | ||
Ineffable | |||
uDebug | |||
Awesome Competitive Programming / Tools / Contest Preparation | |||
polygon | |||
Validators with testlib.h - Codeforces | polygon provides a platform and a rich set of tools for professional contest preparation. ... An example: | ||
Graph Editor | |||
tcframe | 157 | 4 days ago | |
Virtual Judge (vjudge) | |||
BNU Online Judge | |||
Kattis | |||
Awesome Competitive Programming / Community / Blogs | |||
Codeforces blogs | |||
Algorithms Weekly | |||
rng_58's blog | |||
Entropy always increases | |||
Psyho's blog | |||
Namespace Anudeep ;) | |||
vexorian's blog | |||
Fushar's blog | |||
WJMZBMR (Chinese) | |||
小月的耍廢日誌 (Chinese) | |||
Morris' Blog (Chinese) | |||
xudyh (Chinese) | |||
Awesome Competitive Programming / Community / Youtube and Livestreams | |||
Youtube | |||
Youtube | |||
Competitive Programming Youtube (Arabic Speech-English Text) | |||
Youtube | , with many tutorial videos | ||
Youtube | |||
Youtube | |||
Youtube | |||
Youtube | |||
Youtube | |||
Youtube | , with contest updates and problem tutorials of HackerRank, LeetCode, Topcoder and Codeforces | ||
Youtube | |||
Youtube | |||
Youtube | |||
Twitch | , | ||
Twitch | , | ||
Youtube | |||
Youtube | |||
Youtube | |||
Youtube | , Editorials, High qualtiy lectures(advanced topics) | ||
Youtube | , High quality videos on basic programming, data structures and algorithms | ||
Youtube | , Mostly streams, tips but inspiring and sometimes insightful | ||
Youtube | , Short lectures covering various CP related topics like Graph Theory, Number theory, DP, Advanced Data structures | ||
Youtube | , Editorials, screencasts | ||
Youtube | , High quality videos covering almost all data structures, algorithms | ||
Awesome Competitive Programming / Community / Quora | |||
Bill Poucher | |||
ACM-ICPC | Executive Director of . CS Professor at Baylor University | ||
Michal Forišek (misof) | |||
IPSC | Organizer of and . CS Teacher at Comenius University in Slovakia. Algorithm and CS Education Researcher. Former highly-rated competitive programmer | ||
Ahmed Aly (ahmed_aly) | |||
A2OJ | Founder of . Lead Software Engineer. Former member of the team | ||
Thanh Trung Nguyen (I_love_Hoang_Yen) | |||
Brian Bi (bbi5291) | |||
Jonathan Paulson (jonathanpaulson) | |||
Miguel Oliveira (mogers) | |||
Egor Suvorov (yeputons) | |||
Michal Danilák (Mimino) | |||
Bohdan Pryshchenko (I_love_Tanya_Romanova) | |||
Vladimir Novakovski (vnovakovski) | |||
Nick Wu (xiaowuc1) | |||
Cosmin Negruseri | |||
Lalit Kundu (darkshadows) | |||
Ashish Kedia (ashish1294) | |||
Johnny Ho (random.johnnyh) | |||
Joshua Pan (lonerz) | |||
Anudeep Nekkanti (anudeep2011) | |||
Steven Hao (stevenkplus) | |||
Raziman T.V. (razimantv) | |||
Awesome Competitive Programming / Other Awesome Resources / Articles | |||
Overview of Programming Contests | , by Przemysław Dębiak (Psyho) | ||
The 'science' of training in competitive programming - Codeforces | , by Thanh Trung Nguyen (I_love_Hoang_Yen) | ||
If you ask me how to improve your algorithm competition skill, I will give you the link of this blog. - Codeforces | , by Huang I-Wen (dreamoon) | ||
How to prepare for ACM - ICPC? - GeeksforGeeks | , by Vishwesh Shrimali | ||
Complete reference to competitive programming - HackerEarth | , by Ravi Ojha | ||
Getting started with the sport of competitive programming - HackerEarth | , by Triveni Mahatha | ||
Awesome Competitive Programming / Other Awesome Resources / FAQs | |||
How do I start competitive programming? - Quora | |||
How can I become good at competitive programming? - Quora | ... | ||
How is competitive programming different from real-life programming? - Quora | |||
What have you gained from competitive programming? - Quora | |||
Awesome Competitive Programming / Other Awesome Resources / Awesome Lists | |||
The Definitive C++ Book Guide and List - Stack Overflow | |||
What are the best books to learn Java? - Quora | |||
What is the best book for advanced Java programming? - Quora | |||
tayllan/awesome-algorithms | 20,870 | 5 days ago | |
enjalot/algovis | 1,659 | almost 2 years ago | |
rossant/awesome-math | 8,875 | 5 days ago | |
fffaraz/awesome-cpp | 60,053 | 1 day ago | |
akullpp/awesome-java | 41,967 | 9 days ago | |
prakhar1989/awesome-courses | 57,558 | over 1 year ago | |
vhf/free-programming-books | 338,112 | 8 days ago | |
Hackr.io | |||
Awesome Competitive Programming / Other Awesome Resources / Interview Questions | |||
CareerCup | |||
InterviewBit | |||
Awesome Interviews | 71,494 | 4 months ago | |
LeetCode |