awesome-competitive-programming
:gem: A curated list of awesome Competitive Programming, Algorithm and Data Structure resources
https://github.com/lnishan/awesome-competitive-programming
Last synced: about 1 hour ago
JSON representation
-
Sites for Practice
-
Books for Mathematics
- CodeFights - tournaments. Good for beginners. |
- OmegaUp - based website for competitive programing training. It's also where Mexican Olympiad in Informatics (OMI : Olimpiada Mexicana de Informática) is hosted. |
- Codeforces
- POJ - time issues may occur. |
- CS Academy
- UVa - 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 [uHunt](https://uhunt.onlinejudge.org/id/0) following its "Competitive Programming Exercise" section. |
-
Contest Calendars
- Programming Contest Calendar - HackerRank
- clist.by
- Coding Calendar (Android App)
- CodeHorizon
- Competitive Programming Contests Calendar
- Coder's Calendar - calendar/bageaffklfkikjigoclfgengklfnidll), [Firefox Add-on](https://addons.mozilla.org/en-US/firefox/addon/coder-calendar/) | |
- CodeHorizon
-
Problem Classifiers
-
-
Sites for Questions
-
Camps and Trainings
-
Contest Calendars
-
-
Syllabuses
- How to prepare for ACM - ICPC? - GeeksforGeeks - through of the preparations for ACM-ICPC. |
- IOI Syllabus - ICPC. |
- Programming Camp Syllabus
- IOI Syllabus - ICPC. |
-
Tools
-
Contest Preparation
- polygon - Codeforces](http://codeforces.com/blog/entry/18426) |
- Graph Editor
- Virtual Judge (vjudge)
- BNU Online Judge
- Kattis - mail them for assistance). |
- tcframe
- Virtual Judge (vjudge)
-
IDEs
- Vim - Platform | Vim is one of the most popular text editors among advanced programmers. It allows text-editing to be done very efficiently with solely keystrokes. Vim is also highly configurable, extensible and integrates with shells (command lines) really well. The only setback about Vim is that it has a high learning curve for beginners. |
- Emacs - Platform | Emacs is another popular text editor (or development environment to be more precise). The debate on "Vim vs. Emacs" is constantly brought up due to their popularity. Basically Emacs is more than just a text editor. It has plugins like file managers, web browsers, mail clients and news clients that allows users to performs these tasks directly inside Emacs. Emacs is "heavier" because of this, but it arguably has a relatively easier learning curve for beginners. |
- Far Manager - used editor in the RU/CIS competitive programming community. It's actually a file manager in its bare bones, but you can install [FarColorer](http://colorer.sourceforge.net/farplugin.html) - 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 - Platform | Code::Blocks is the go-to IDE for C/C++. It's a full-fledged, versatile IDE with numerous great features. Code::Blocks is usually provided along with Vim in programming contests. |
- IntelliJ IDEA - Platform | 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 [CHelper](https://plugins.jetbrains.com/plugin/7091-chelper), a very handy plugin written for programming contests. |
- Sublime Text - Platform | 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 [Package Control](https://packagecontrol.io/) installed and explore perhaps one of the largest catalogue of plugins! |
- Eclipse - Platform | Eclipse is another good IDE for Java. It's an okay alternative to Intellij IDEA (A tad inferior to IDEA by today's standards). Sometimes contests only provide Eclipse for some reason, so this might be a good incentive to try and use Eclipse. |
- CLion - Platform | 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 [EAP (Early Access Program)](https://confluence.jetbrains.com/display/CLION/Early+Access+Program) 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 - hogging. ... [CodeLite](https://codelite.org/) is a newly rising IDE. Beware that the load-up and project-creation times can be extraordinary. |
-
Personal use
- Ideone.com - permanent pages for code sharing. Very useful especially when you're trying to get someone else to look into your code. |
- VisuAlgo
- CHelper - judge-tools](https://github.com/kmyk/online-judge-tools) (Stand alone CLI tool, It is actively maintained.) | Great tools that parse contests, inline library codes and provide testing frameworks. They save you from spending your precious time on switching windows and copy-pasting back and forth. |
- The On-Line Encyclopedia of Integer Sequences (OEIS)
- tohtml.com - You-See-Is-What-You-Get) editor! |
- Ineffable - line grader for local grading. |
- uDebug - specified inputs to problems on the UVa Online Judge. Some problems also provide additional test cases for debugging. |
- Codeforces Parser
- Ineffable - line grader for local grading. |
-
-
Tutorial Websites
- E-Maxx (Russian) - algorithms.com/) | A tutorial website widely used and referenced in the Russian-speaking competitive programming community. Most of the articles of the original site have been translated into English, Google Translate works okay for the remaining ones. |
- PEGWiki - depth wiki-like writeups on many topics. It's far better than those on Wikipedia in my opinion. |
- Notes - HackerEarth
- basecs - depth, illustrated tutorials on basic algorithms and data structures. |
- Competitive Programming - Commonlounge
- OLYMPIADS IN INFORMATICS
- algolist (Russian)
- 演算法筆記 (Algorithm Notes) (Chinese)
- 国家集训队论文 1999-2015 (Papers from Chinese IOI training camps) (Chinese)
- OI Wiki (Competitive Programming) (Chinese)
- Mini-Editorials - editorials for many problems, including UVA/SPOJ/IOI/Olympiad problems |
- PEGWiki - depth wiki-like writeups on many topics. It's far better than those on Wikipedia in my opinion. |
- algolist (Russian)
- Algorithms - GeeksforGeeks
Categories
Sub Categories
Youtube and Livestreams
29
Books for Mathematics
26
Blogs
20
Open Courses for Algorithms and Data Structures
17
Problem Classifiers
11
Awesome Lists
10
Camps and Trainings
10
Quora
10
Personal use
9
Books for Algorithms
9
IDEs
9
Articles
8
Java
8
Contest Calendars
8
Contest Preparation
7
FAQs
7
C/C++
7
Interview Questions
5
Miscellaneous
3
Keywords
awesome
5
awesome-list
5
list
4
cpp
2
algorithm
2
competitive-programming
2
data-structures
2
acm-icpc
2
education
1
books
1
mathematics
1
lecture-notes
1
courses
1
computer-science
1
resources
1
programming-tutorial
1
lists
1
javascript-interview-questions
1
libraries
1
cppcon
1
cpp-library
1
python-interview-questions
1
c-plus-plus
1
c
1
rails-interview
1
ruby
1
awesomeness
1
angularjs-interview-questions
1
android-interview-questions
1
algorithms
1
acm-icpc-handbook
1
youtube
1
training-materials
1
library
1
arabic
1
interview-practice
1
notebook
1
interview-questions
1
contest
1
interviewing
1
cc0
1
javascript
1
resource
1