/competitive-programming

Algorithms and Data Structure implementations for Competitive Programming.

Primary LanguageC++

Competitive Programming

In this repository, you'll find algorithms and data structure implementations for competitive programming, along with a printable notebook with the implementations

Algorithms

Contributing

If you want to contribute to this repository, you can do it by adding new algorithms or improving the existing ones. To do so, you can follow the steps below:

  1. Fork this repository
  2. Add or improve the algorithm you want
  3. Create a pull request
  4. Wait for the pull request to be reviewed and merged

Obs: You don't need to update the notebook, because it is generated automatically. Just add the algorithm to the algorithms folder and make sure that you have added it to the correct category folder such as algorithms/math, algorithms/graphs, etc.

How to run locally?

If you want to create your own notebook, it is possible as follows:

Clone the project repository with the following command:

git clone https://github.com/mateusvrs/competitive-programming.git

To run the project, you need to install the global dependencies, which are:

  • Docker Engine v24 (or higher)

From that, you can delete the algorithms inside the algorithms folder and add your own inside the same algorithms folder that are empty now. To customize the README.md, you can edit the scripts/gen-readme.py file. Finally, you can edit the university logo changing the assets/logo.jpg file (keeping the same name and extension) and uncommenting line 57 at the file "scripts/notebook/template.tex".

Now, you can run the following command:

# Change the "Your Team Name" to the name of your own team
docker run -w /notebook -v .:/notebook mateusvrs/cp-notebook:v1.0 make team_name="Your Team Name"      

References & Courses