A curated list of awesome competitive programming / algorithm / data structure materials
A list of curated lists.
- Good Blog Post Resources about Algorithm and Data Structures - Codeforces
- Data Structures and Algorithms - CodeChef Discuss
- 網站 - 演算法筆記 (Chinese)
Sites / Pages covering a broad range of topics.
- topcoder Data Science Tutorials
- Stanford CS 97SI: Introduction to Competitive Programming Contests
- Reykjavik T-414-ÁFLV: A Competitive Programming Course
- Algorithms | GeeksforGeeks
- PEGWiki (Much better than Wikipedia)
- LeetCode Video Tutorials
- 数据结构与算法/leetcode/lintcode题解 (LeetCode tutorials) (Chinese)
- 建國中學資訊科培訓 (CKHS Training) (Chinese)
- 演算法筆記 (Algorithm Notes) (Chinese)
- 国家集训队论文 1999-2009 (Papers from Chinese IOI training camps) (Chinese)
- MAXimal :: algo (E-Maxx) (Russian)
Main Page - E-Maxx Algorithms (English)
Algorithm / Data structure implementations.
- Data Structures and Algorithms in C++ - Algorithms and Data Structures
- Stanford University ACM Team Notebook (2013-14)
- SuprDewd/CompetitiveProgramming
- Spaghetti Source - 各種アルゴリズムの C++ による実装 (Japanese)
- bobogei81123/bcw_codebook (Chinese)
- ACM-Obsidian/acm-template (Chinese)
- Some other notebooks:
BrockCSC/acm-icpc
foreverbell/acm-icpc-cheat-sheet
t3nsor/codebook
marioyc/ACM-ICPC-Library (PT)
EnigmaHuang/ACM-ICPC-Algorithm (Chinese)
soulmachine/acm-cheat-sheet (Chinese)
日月卦長的模板庫 (Chinese)
This section mainly focuses on C++ and other miscellaneous knowledge.
- Power up C++ with the Standard Template Library: Part 1 – topcoder
Power up C++ with the Standard Template Library: Part 2 – topcoder - Yet again on C++ input/output - Codeforces
- C++ Tricks - Codeforces
- What are some cool C++ tricks to use in a programming contest? - Quora
- C++ STL: Policy based data structures - Codeforces
C++ STL: Policy based data structures. Part 2 - Codeforces - Bit Twiddling Hacks
- Comparing Floating Point Numbers, 2012 Edition | Random ASCII
- 你应该知道的浮点数基础知识 • cenalulu's Tech Blog (Chinese)
- C++11 FAQ (English, Chinese, Russian, Japanese, Korean)
- Object-Oriented C Style Languages: C++, Objective-C, Java, C# - a side-by-side reference sheet
Good online judges to practice.
- Codeforces
- TopCoder
- CodeChef
- SPOJ
- Timus
- sgu
- HackerRank
- PKU OJ
- UVa (Practice with uHunt is strongly advised)
- Project Euler
- Hackerearth
Sites / Pages classifying programming problems.
- A2 Online Judge (Mixed)
- Problem Classifier (SPOJ)
- UVa Online Judge (CP, CP2, CP3)
- Codeforces Tags (DP for instance)
- HackerRank
- Lucky貓的 UVA(ACM)園地 (Chinese)
- Competitive Programming, by Steven and Felix Halim
- Programming Challenges, by Steven Skiena and Miguel Revilla
- Looking for a Challenge, written by a group of authors associated with the Polish Olympiads
- 培養與鍛鍊程式設計的邏輯腦 (Japanese, Chinese), by 秋葉拓哉, 岩田陽一, 北川宜稔
- 算法竞赛入门经典 (打下好基礎:程式設計與演算法競賽入門經典) (Chinese), by 劉汝佳
- 提升程式設計的解題思考力:國際演算法程式設計競賽訓練指南 (Chinese), by 劉汝佳, 陳鋒
- 算法艺术与信息学竞赛 (Chinese), by 劉汝佳, 黃亮
- Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
- Algorithm Design, by Jon Kleinberg and Éva Tardos
- The Algorithm Design Manual, by Steven S. Skiena
- Algorithms, by Robert Sedgewick and Kevin Wayne
Meet the god-like programmers!
(I kind of feel like a stalker while making this list xD)
- Codeforces blogs
- Petr Mitrichev (Petr): Algorithms Weekly
- Bruce Merry (bmerry): Entropy always increases
- Przemysław Dębiak (Psyho): Psyho's blog
- Anudeep Nekkanti (anudeep2011): Namespace Anudeep ;)
- vexorian (vexorian): vexorian's blog
- Ashar Fuadi (fushar): Fushar's blog
- LiJie Chen (WJMZBMR): WJMZBMR (Chinese)
- Huang I-Wen (dreamoon): 小月的耍廢日誌 (Chinese)
- Po-Jui Chen (a00012025): code倉庫 (Chinese)
- Shiang-Yun Yang (morris1028): Morris' Blog (Chinese)
- Yuhao Du (TooDifficuIt): xudyh (Chinese, Emptied)
- Dreadnought (TankEngineer, rowdark, AngryBacon): Dreadnought's Wiki (Chinese)
- HackerRank Live Youtube
- Petr Mitrichev (Petr): Youtube
- Egor Kulikov (Egor): Youtube
- Adam Bardashevich (subscriber): Youtube
- Bohdan Pryshchenko (I_love_Tanya_Romanova): Twitch, Youtube
- Vladimir Smykalov (enot.1.10): Twitch, Youtube
Great people to follow.