An open API service indexing awesome lists of open source software.

https://github.com/mateusjssilva/competitive-programming

This repository contains a variety of competitive programming problems with solutions aimed at improving algorithmic and problem-solving skills. Each problem comes with a clear explanation, efficient solutions in different languages.
https://github.com/mateusjssilva/competitive-programming

beecrowd-solutions competitive-programming cpp java python

Last synced: 2 months ago
JSON representation

This repository contains a variety of competitive programming problems with solutions aimed at improving algorithmic and problem-solving skills. Each problem comes with a clear explanation, efficient solutions in different languages.

Awesome Lists containing this project

README

        

# Competitive Programming

Welcome to the Competitive Programming repository! This repository contains solutions to various competitive programming problems solved using different algorithms and data structures.

## Purpose

The main goals of this repository are:
- To store solutions for problems from competitive programming platforms like Beecrowd, Codeforces, HackerRank, LeetCode, and others.
- To provide examples of how algorithms and data structures can be applied to solve real-world competitive programming problems.
- To serve as a learning resource for anyone looking to enhance their problem-solving skills and knowledge of algorithms.

## Repository Structure

The repository is organized into directories based on platforms or contests. Here's how it's structured:

- Each platform or contest has its own folder.
- Each problem is stored in its own folder, named after the problem's title or ID.
- The problem folder contains:
- The solution file(s) (e.g., `.cpp`, `.java`, `.py`, `.cs`).
- A README or a comment within the code explaining the approach, the algorithm used, and any specific optimizations.

### Problems in the Repository

#### Beecrowd (Java)
- [1222](./beecrowd/java/1222/Main.java)
- [1372](./beecrowd/java/1372/Main.java)
- [1495](./beecrowd/java/1495/Main.java)
- [1661](./beecrowd/java/1661/Main.java)
- [1690](./beecrowd/java/1690/Main.java)
- [2387](./beecrowd/java/2387/Main.java)
- [2412](./beecrowd/java/2412/Main.java)
- [2446](./beecrowd/java/2446/Main.java)
- [2498](./beecrowd/java/2498/Main.java)

#### Beecrowd (C++)
- [2420](./beecrowd/c++/2420/TerritoryWar.cpp)

## How to Use

1. **Browse the Repository**: Explore the directories to find solutions to various problems.
2. **Study the Code**: Each solution is written with comments to explain key parts of the algorithm or approach.
3. **Understand the Approach**: Most problems include a brief explanation of the strategy used to solve them, which can help in understanding the underlying concepts.
4. **Contribute**: Feel free to contribute by submitting your own solutions or improving existing ones.

## Topics Covered

Here are some of the common topics covered by the problems in this repository:

- Sorting and Searching
- Graph Algorithms (DFS, BFS, Dijkstra)
- Dynamic Programming
- Greedy Algorithms
- Data Structures (Segment Trees, Fenwick Tree, Union-Find)
- Mathematics and Number Theory
- String Manipulation
- Bit Manipulation

## How to Contribute

Contributions are welcome! Here's how you can contribute to the repository:

1. Fork the repository.
2. Create a new branch for your changes.
3. Add your code, along with comments and explanations.
4. Submit a pull request.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Contact

If you have any questions or suggestions, feel free to open an issue or submit a pull request!