https://github.com/danielbrito/competitive-programming
🏁 My solutions and resources on problem-solving.
https://github.com/danielbrito/competitive-programming
algorithms c challenges competitive-programming complexity-analysis contests cpp interviews java javascript kotlin mathematics number-theory python self-learning
Last synced: 9 months ago
JSON representation
🏁 My solutions and resources on problem-solving.
- Host: GitHub
- URL: https://github.com/danielbrito/competitive-programming
- Owner: DanielBrito
- Created: 2018-05-31T03:31:11.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-19T17:57:00.000Z (10 months ago)
- Last Synced: 2025-03-19T18:26:44.201Z (10 months ago)
- Topics: algorithms, c, challenges, competitive-programming, complexity-analysis, contests, cpp, interviews, java, javascript, kotlin, mathematics, number-theory, python, self-learning
- Language: C++
- Homepage:
- Size: 797 KB
- Stars: 19
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Competitive Programming
I think competitive programming is a great opportunity for those who want to improve their skills, because it pushes us to think creatively, and helps us to put into practice our math knowledge (we thought we'd never use) in order to solve real-world problems.
[Here are my solutions](https://github.com/DanielBrito/competitive-programming/tree/master/Solutions) to some challenges from several programming platforms, contests, and interviews.
I try really hard to find the most efficient solution, but (unfortunately) sometimes I just really can't (and appeal to brute force), because I'm still learning the power of each data structure, technique, language, and paradigm (and I'll always be). However, after some research, I always end up discovering awesome articles and [inspiring codes](https://github.com/DanielBrito/programming-problems/tree/master/Inspiring%20Codes) which improve my programming skills.
When I feel inspired, I try to document these codes (exploring time and space complexity) to facilitate the understanding of what I'm doing.
You can also check this [playlist](https://www.youtube.com/playlist?list=PLckh4uyjCOmjvKSfrDDJ6oh1lIF3qJ3hM) that I've been maintaining on Youtube (to try) to explain my coding process.
Currently, I integrate the [GEMP - UFC/CRT](https://github.com/GEMP-UFC-Crateus/), a group of studies from college, that solves [URI Online Judge](https://www.urionlinejudge.com.br/) problems, and also participates in contests within the platform.

---
## :computer: Programming Platforms
- [Aizu Online Judge](http://judge.u-aizu.ac.jp/onlinejudge/)
- [AlgoDaily](https://algodaily.com/)
- [AtCoder](https://atcoder.jp/)
- [CheckiO](https://checkio.org/)
- [CodeChef](https://www.codechef.com/)
- [Codeforces](https://codeforces.com/)
- [Code Gym](https://codegym.cc/)
- [Coderbyte](https://coderbyte.com/)
- [CodeSignal](https://codesignal.com/)
- [Codewars](https://www.codewars.com/)
- [Codingame](https://www.codingame.com/home)
- [Code Submission Evaluation System](https://cses.fi/)
- [CS Academy](https://csacademy.com/)
- [Daily Coding Problems](https://www.dailycodingproblem.com/)
- [DevSkill](https://www.devskill.com/)
- [E-Olymp](https://www.e-olymp.com/en/)
- [Edabit](https://edabit.com/)
- [Exercism](https://exercism.io/)
- [Fuzhou University OnlineJudge](http://acm.fzu.edu.cn/)
- [GeeksForGeeks](https://www.geeksforgeeks.org/)
- [HackerEarth](https://www.hackerearth.com/)
- [HackerRank](https://www.hackerrank.com/)
- [Kattis](https://open.kattis.com/)
- [LeetCode](https://leetcode.com/)
- [Neps Academy](https://neps.academy/)
- [Peking University JudgeOnline](http://poj.org/)
- [Programmr](http://www.programmr.com/)
- [Project Euler](https://projecteuler.net/)
- [Sphere Online Judge](https://www.spoj.com/)
- [TechGig](https://www.techgig.com/practice)
- [Timus Online Judge](https://acm.timus.ru/)
- [TopCoder](https://www.topcoder.com/)
- [URI Online Judge](https://www.urionlinejudge.com.br/)
- [UVa Online Judge](https://onlinejudge.org/)
- [Zhejiang University Online Judge](https://zoj.pintia.cn/)
---
## :checkered_flag: Contests
- [Code Jam](https://codingcompetitions.withgoogle.com/codejam)
- [DWITE](http://dwite.org/)
- [Hash Code](https://hashcode.withgoogle.com/)
- [Kick Start](https://codingcompetitions.withgoogle.com/kickstart)
- [International Olympiad in Informatics](https://ioinformatics.org/page/contests/10)
- [Olimpíada Brasileira de Informática](https://olimpiada.ic.unicamp.br/pratique/)
- [Kaggle Competitions](https://www.kaggle.com/competitions)
- [Maratona de Programação](http://maratona.ime.usp.br/)
- [International Collegiate Programming Contest](https://icpc.baylor.edu/)
- [Facebook Hacker Cup](https://www.facebook.com/hackercup/register)
---
## :books: Books
- [Guide to Competitive Programming - Learning and Improving Algorithms Through Contests](https://link.springer.com/content/pdf/10.1007%2F978-3-319-72547-5.pdf) (Antti Laaksonen)
- [Programming Challenges: The Programming Contest Training Manual](http://acm.cs.buap.mx/downloads/Programming_Challenges.pdf) (Steven Skiena)
- [Competitive Programming](https://cpbook.net/)
- [The Algorithm Design Manual](http://mimoza.marmara.edu.tr/~msakalli/cse706_12/SkienaTheAlgorithmDesignManual.pdf) (Steven Skiena)
- [Algorithms](https://algs4.cs.princeton.edu/home/) (Robert Sedgewick)
- [Introduction to Algorithms](https://edutechlearners.com/download/Introduction_to_algorithms-3rd%20Edition.pdf) (Thomas Cormen)
- [Think in C++](https://www.micc.unifi.it/bertini/download/programmazione/TICPP-2nd-ed-Vol-two-printed.pdf) (Bruce Eckel)
- [Looking for a Challenge 2](https://www.mimuw.edu.pl/~idziaszek/algonotes/looking-for-a-challenge-2-en.pdf) (University of Warsaw)
- [Cracking the Coding Interview](https://www.amazon.com.br/Cracking-Coding-Interview-Programming-Questions/dp/0984782850) (Gayle McDowell)
---
## :toolbox: Codes
- [Competitive Programming Algorithms](https://cp-algorithms.com/)
---
## :abacus: IDEs
- [CLion](https://www.jetbrains.com/clion/)
- [Visual Studio Code](https://code.visualstudio.com/)
- [Geany](https://www.geany.org/)
- [CodeBlocks](http://www.codeblocks.org/)
- [Dev-C++](https://sourceforge.net/projects/orwelldevcpp/)
- [Spyder](https://www.spyder-ide.org/)
- [Idle](https://www.python.org/downloads/)
- [Eclipse](https://www.eclipse.org/downloads/packages/)
- [NetBeans](https://netbeans.org/features/)
- [Intellij IDEA](https://www.jetbrains.com/idea/download/)
- [CodeLite](https://codelite.org/)
---
## :page_with_curl: Articles
- [An awesome list for competitive programming](https://codeforces.com/blog/entry/23054) (Codeforces)
- [Coding Interview Glossary](https://www.interviewcake.com/glossary) (Interview Cake)
- [Time and Space Complexity Tutorials & Notes](https://www.hackerearth.com/pt-br/practice/basic-programming/complexity-analysis/time-and-space-complexity/tutorial/) (HackerEarth)
- [Competitive Programming - Computational Complexity](https://www.topcoder.com/community/competitive-programming/tutorials/computational-complexity-section-1/) (TopCoder)
- [Analysis of Algorithms - Big-O analysis](https://www.geeksforgeeks.org/analysis-algorithms-big-o-analysis/) (GeeksforGeeks)
- [T-414-ÁFLV: A Competitive Programming Course](https://algo.is/t-414-aflv-competitive-programming-course-2016/)
- [The Simplicity of Computational Complexity](https://hackernoon.com/the-simplicity-of-computational-complexity-street-fighter-ii-vs-the-big-o-67786db7653c) (Hacker Noon)
- [Top 10 Algorithms and Data Structures for Competitive Programming](https://www.geeksforgeeks.org/top-algorithms-and-data-structures-for-competitive-programming/) (GeeksForGeeks)
---
## :tv: Channels
- [Errichto](https://www.youtube.com/channel/UCBr_Fu6q9iHYQCh13jmpbrg)
- [William Lin](https://www.youtube.com/channel/UCKuDLsO0Wwef53qdHPjbU2Q)
- [Gennady Korotkevich](https://www.youtube.com/channel/UCkySD00cmDWYHXA31hqRYRw)
- [MaratonUSP](https://www.youtube.com/channel/UCB_SQAulqgmQ0Vfww9wzfWA)
- [Programação Competitiva](https://www.youtube.com/channel/UC1I_DbrWCKU-m4K46Jbc0rg)
---
## :clapper: Videos
- [Maratonas de Programação: Tudo o que Você Precisa Saber](https://www.youtube.com/watch?v=COweDLKkyiM) (Programador Sagaz)
- [Programming Competitions - Codeforces, Code Jam, ...](https://www.youtube.com/watch?v=cpguolx2oms) (Errichto)
- [How To Become Red Coder? (Errichto)](https://www.youtube.com/watch?v=y7169jEvb-Y)
- [Introduction to Big O Notation and Time Complexity](https://www.youtube.com/watch?v=D6xkbGLQesk) (CS Dojo)
- [Deeply Understanding Asymptotic Analysis](https://www.youtube.com/playlist?list=PLiQ766zSC5jNlilqsJSiVcvIMxTdMlJbl) (Back To Back SWE)
- [Dynamic Programming, Recursion, & Backtracking](https://www.youtube.com/playlist?list=PLiQ766zSC5jM2OKVr8sooOuGgZkvnOCTI) (Back To Back SWE)
- [Graphs, Greedy Algorithms, & Other](https://www.youtube.com/playlist?list=PLiQ766zSC5jNlilqsJSiVcvIMxTdMlJbl) (Back To Back SWE)
---
## :infinity: Mathematics
- [Wolfram MathWorld](http://mathworld.wolfram.com/)
- [ProofWiki](https://proofwiki.org/wiki/Main_Page)
- [Be a Better Programmer with these 45 Mathematics Courses](https://hackernoon.com/be-a-better-programmer-with-these-40-mathematics-courses-d8ca48a2f8a2) (Hacker Noon)
- [Coding Math](https://www.youtube.com/user/codingmath)
- [Maths for Programmers](https://www.youtube.com/playlist?list=PLWKjhJtqVAbndUuYBE5sVViMIvyzp_dB1) (freeCodeCamp)
- [The Math Needed for Computer Science](https://www.youtube.com/watch?v=eSFA1Fp8jcU) (Zach Star)
---
## :thumbsup: Other Helpful Content
- [Cracking the Coding Skills (Handout)](https://miro.medium.com/max/5100/1*UsPt4i_tM99tWVWa2aa29g.png)
- [The C++ Resources Network](http://www.cplusplus.com/)
- [AlgoWiki](https://wiki.algo.is/)
- [IOI Syllabus](https://ioinformatics.org/files/ioi-syllabus-2019.pdf)
- [Ementa OBI](https://olimpiada.ic.unicamp.br/info/ementa/geral/)
- [Understanding Program Efficiency](https://github.com/DanielBrito/intro-to-computer-science-python/blob/master/Lecture%2011/lec11_complexity.pdf)
- [Awesone competitive programming](https://github.com/lnishan/awesome-competitive-programming)
- [ACM/ICPC - C++ Cheat Sheet](https://www.cs.mun.ca/~dchurchill/pc/pdf/algorithms_1.pdf)