Welcome to Competitive Programming 101, a comprehensive resource repository to kickstart your journey in competitive programming. Whether you're a beginner or looking to refine your skills, this repository has you covered.
To get started, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/competitive-programming-101.git cd competitive-programming-101 -
Explore the folders for resources and practice problems.
Competitive-Programming-101/
├── Practice contests/
| ├── {contest theme}/
| ├── Editorial.pdf #our solutions approach explained
| ├── Readme.md
| ├── Solutions/
| ├── c++/ #solution written in python code
| ├── python/ #solution written in python code
├── Beginner/
│ ├── Concepts.md # Core concepts for beginners
│ ├── Problems/ # Starter problems with solutions
├── Intermediate/
│ ├── Algorithms.md # Key algorithms for problem-solving
│ ├── DataStructures.md # Must-know data structures
│ ├── Problems/ # Intermediate-level challenges
├── Advanced/
│ ├── Techniques.md # Advanced problem-solving techniques
│ ├── Problems/ # Challenging problems
├── Resources.md # Links to tutorials, books, and guides
├── Beginner_Guide.md # Step-by-step guide for beginners
├── FAQ.md # Frequently Asked Questions
├── Changelog.md # Logs of changes and updates
├── Issue_Template.md # Template for reporting issues
├── Pull_Request_Template.md # Template for pull requests
├── Roadmap.md # Future plans for the repository
├── Acknowledgements.md # Credits and recognitions
├── Troubleshooting.md # Solutions to common issues
├── About.md # Details about the project's purpose
├── Contributing.md # How to contribute to this repository
├── CODE_OF_CONDUCT.md # Code of Conduct for contributors
├── LICENSE.md # License for the project
└── README.md # This file
- Basic Concepts: Time complexity, I/O optimization, recursion
- Algorithms: Sorting, searching, graph algorithms, dynamic programming
- Data Structures: Arrays, linked lists, stacks, queues, trees, graphs
- Advanced Techniques: Bit manipulation, segment trees, fenwick trees
Explore detailed resources for each topic in Resources.md. You will find links to:
- Tutorials
- Competitive programming platforms (Codeforces, LeetCode, etc.)
- Recommended books and blogs
The repository includes categorized problems with solutions to help you practice:
- Beginner: Easy problems to build confidence.
- Intermediate: Problems requiring deeper problem-solving skills.
- Advanced: Tough challenges to push your limits.
- Wafae Boumajjane: Lectures Author and CP-mentor .
- Hamza Bouali: CP-mentor and Contests setter.
- Salim Elmardi: Data/Ai cell Co-Head and Editorial writer.
Want to see your name here? Start contributing by submitting a pull request!
This project is licensed under the MIT License.
Have questions or suggestions? Open an issue or contact the maintainer at [code@esi.ac.ma]. For more practice contact Wafae Boumajjane or Hamza Bouali Happy coding! 🚀