Skip to content

alessandropier/Competitive-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 

Repository files navigation

Competitive Programming Toolkit

Welcome to my personal competitive programming repository. This space serves as my knowledge base, algorithm library, and problem-solving archive, designed to facilitate quick revision, stuyding and continuous learning.

📁 Repository Structure

The repository is organized into the following sections:

├── library/     
│   ├── books            # Useful books: CP's handbooks by Antti Laaksonen     
│   └── README.md        # Theoretical notes, study, and implementations on the following concepts:
│                           general-cpp/      # Notes on STDL, cpp Compiler, Code, etc.
│                           strings/          # Notes on Strings, Chars, etc.
│                           data-structures/  # Vectors, Maps, Segment Trees, Fenwick Trees, DSU, etc
│                           graph-theory/     # DFS/BFS, Shortest Path, MST, Flow, etc.
│                           number-theory/    # Primes, Modular Arithmetic, Combinatorics
│                           dp/               # Classic DP patterns and optimizations
│                           geometry/         # Coordinates, Floating-point numbers, Polygons, etc
├── templates/           # Boilerplate code and fast I/O templates
├── solutions/           # Solutions to problems from various platforms
│    ├── README.md       # Index of discussed solved problems
│    ├── olinfo/         # Training Olinfo problems
│    └── others (TBD)    # Codeforces, LeetCode, AtCoder, Kattis, etc.
└── README.md            # This file

Note: The repository structure might change along the way (e.g., by adding specific topic folders inside library/).

📖 Sections Overview

💡 Library

This section contains theory notes and C++ implementations for algorithms. The folder contains a markdown file explaining the concepts, complexity analysis, and implementation.

🛠 Templates

A collection of pre-written code snippets.

💻 Solutions

This directory contains my accepted solutions to various problems.

  1. All solutions are grouped by platform.
  2. Each problem includes an explaination note about the solution and the problem statement.

🚀 How to use this repo

  1. For Study: Navigate to the algorithms/ folder to review specific topics before a contest.
  2. For Practice: Check the solutions/ folder to try out some new problems.
  3. For Setup: Use the templates/ folder to quickly set up some methods for new problems.

💻 Websites for Problems

  1. Codeforces
  2. Training Olinfo
  3. CSES
  4. LeetCode
  5. AtCoder
  6. Kattis
  7. CodeChef
  8. QOJ
  9. CSAcademy (old mirrors + useful teaching resourses)
  10. Advent Of Code

others: CTF practice here

🏅 Contests

  1. Codeforces (check the blog often because people share news about contests)
    1.1 LeetCode, AtCoder, CodeChef (weekly / daily)
  2. Facebook Hacker Cup (important)
  3. ICPC (important - for Universities only)
  4. Croatian Open Competition in Informatics (mirror)
  5. OIS - OII (Italy) / IOIS - IOI (international) (mirror)
  6. QOJ (mirrors of old competitions - the engine for multiple contests such as the "Universal Cup")
  7. Yandex Algorithm (important)
  8. Universal Cup (important - for groups only - has a discord channel where people look for a team and have discussions)

Here is an updated list of the past contests all over the world.
List of the upcoming contests all over the world:

  1. CLIST
  2. CP Calendar

🔗 Resources

Given the extensive knowledge and high-quality resources already available online regarding Competitive Programming, I want to optimize my time and keep my sanity intact; therefore, instead of writing exhaustive, deep-dive explanations for every topic, this repository will focus on my personal notes (for all levels) and solutions, supplemented by curated references to existing external material.

Here are some useful resourses: (** used for very high level material)

  1. CP-Algorithms (good reference for theory) here

  2. ** USACO guide: https://usaco.guide/, specifically here in which there are topics for every level with in depth explanations

  3. ** Colin Galen "Topic Streams" YouTube Playlist here: very in depth explanation of multiple topics (along with his other videos)

  4. Errichto "Edu" YouTube Playlist here: quick videos (around 20 min each) about multiple topics

  5. ** Olimpiadi Italiane di Informatica YouTube Playlist here: every topic explained in Italian by qualified teachers

  6. ACM-ICPC-Preparation GitHub repo here: contains every topic from basic level to expert along with resources, youtube videos, web pages etc.

  7. ACM-ICPC-Algorithms GitHub repo here: a lot of topics with code implementation

👦 Author

Alessandro Piergiovanni
Computer Science graduate and Forbes Top Graduate

e-mail: alessandropiergiovanni001@gmail.com

linkedin github

About

Collection of theory, algorithms, data structures, and solutions for CP problems. This repo serves as a personal knowledge base, featuring theoretical summaries, optimization techniques, and implementation templates. Designed for quick review and continuous training.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages