All Projects → dieram3 → Competitive Programming Library

dieram3 / Competitive Programming Library

Licence: bsl-1.0
A library designed to improve your competitive programming performance.

Projects that are alternatives of or similar to Competitive Programming Library

Problem Solving Training
Problem solving training for computer science students.
Stars: ✭ 210 (+707.69%)
Mutual labels:  competitive-programming, algorithms, data-structures, computer-science
Algorithms
My Algorithms and Data Structures studies. https://leandrotk.github.io/series/algorithms-problem-solving
Stars: ✭ 275 (+957.69%)
Mutual labels:  competitive-programming, algorithms, data-structures, computer-science
Huprog
A repo which includes the HUPROG'17(Hacettepe University Programming Contest)'s questions and the solutions of that questions.
Stars: ✭ 11 (-57.69%)
Mutual labels:  competitive-programming, algorithms, data-structures, computer-science
Get better at cp in 2 months
This contains the curriculum that I will follow to get better at Competitive Programming in 2 months.
Stars: ✭ 627 (+2311.54%)
Mutual labels:  competitive-programming, algorithms, data-structures
Interview Techdev Guide
This repository contains curated technical interview questions by fn+geeks community
Stars: ✭ 252 (+869.23%)
Mutual labels:  competitive-programming, algorithms, data-structures
Mega Interview Guide
The MEGA interview guide, JavaSciript, Front End, Comp Sci
Stars: ✭ 255 (+880.77%)
Mutual labels:  algorithms, data-structures, computer-science
Datastructures Algorithms
The best library for implementation of all Data Structures and Algorithms - Trees + Graph Algorithms too!
Stars: ✭ 2,105 (+7996.15%)
Mutual labels:  competitive-programming, algorithms, data-structures
Dsa.js Data Structures Algorithms Javascript
🥞Data Structures and Algorithms explained and implemented in JavaScript + eBook
Stars: ✭ 6,251 (+23942.31%)
Mutual labels:  algorithms, data-structures, computer-science
450 Dsa
450-DSA helps you track your progress in solving 400+ DSA questions and keeps you engaging based on DSA-Cracker Sheet ⚡
Stars: ✭ 301 (+1057.69%)
Mutual labels:  competitive-programming, algorithms, data-structures
Competitive Programming Repository
Competitive Programming templates that I used during the past few years.
Stars: ✭ 367 (+1311.54%)
Mutual labels:  competitive-programming, algorithms, data-structures
Pyrival
⚡ Competitive Programming Library
Stars: ✭ 463 (+1680.77%)
Mutual labels:  competitive-programming, algorithms, data-structures
Techinterview
💎 Cheat sheet to prep for technical interviews.
Stars: ✭ 454 (+1646.15%)
Mutual labels:  algorithms, data-structures, computer-science
Competitiveprogramming
A collection of algorithms, data structures and other useful information for competitive programming.
Stars: ✭ 475 (+1726.92%)
Mutual labels:  competitive-programming, algorithms, data-structures
Dailycodebase
2 month data structures and algorithmic scripting challenge starting from 20th December 2018 - Coding is Fun! 💯💯 Do it everyday!! Also, Do give us a ⭐ if you liked the repository
Stars: ✭ 186 (+615.38%)
Mutual labels:  competitive-programming, algorithms, data-structures
Placement Preparation
Hello everyone, I have created this repository specifically for competitive questions and for placements preparation.
Stars: ✭ 137 (+426.92%)
Mutual labels:  competitive-programming, algorithms, data-structures
Algowiki
A wiki dedicated to competitive programming
Stars: ✭ 317 (+1119.23%)
Mutual labels:  competitive-programming, algorithms, data-structures
Online Judge Solutions
Solutions to ACM ICPC - style problems
Stars: ✭ 529 (+1934.62%)
Mutual labels:  competitive-programming, algorithms, data-structures
Hackerrank
📗 Solutions of more than 380 problems of Hackerrank accross several domains.
Stars: ✭ 128 (+392.31%)
Mutual labels:  competitive-programming, algorithms, data-structures
Data structure and algorithms library
A collection of classical algorithms and data-structures implementation in C++ for coding interview and competitive programming
Stars: ✭ 133 (+411.54%)
Mutual labels:  competitive-programming, algorithms, data-structures
Competitive coding
This repository contains some useful codes, techniques, algorithms and problem solutions helpful in Competitive Coding.
Stars: ✭ 393 (+1411.54%)
Mutual labels:  competitive-programming, algorithms, data-structures

Competitive Programming Library

Build Status Coverage Status

CPL is a header-only library that contains implementations of typical algorithms and data structures used in programming contests. It is intended to be used mainly in online contests, where you can copy and paste code easily. However, by the fact that in some programming contests you have to type everything from scratch, the source code is maintained short (but not so short because generality and ease of use is another important target of the library).

Modules

Currently CPL has the following modules:

  • Bits
  • Combinatorics
  • Data Structure
  • Geometry
  • Graph
  • Math
  • Number Theory
  • Search
  • Sorting
  • Strings
  • Utility

Installation

If you want to download CPL for running the tests and/or compiling the examples, do the following:

First, you need cmake installed on your system.

Then, run the following commands on the root directory of the project:

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make && make test

The generated executable files will be put on a sub-directory of the build folder called bin.

Dependencies

CPL requires full C++11 support:

  • A fully compliant compiler.
  • And a fully implemented standard library.

Simple usage example

The following code snippet shows how to generate a suffix array and using it.

#include <iostream>
#include <string>
#include <cpl/strings/suffix_array.hpp>

int main() {
  // Given a text.
  std::string text = "mississippi";

  // Generate its suffix array.
  auto sa = cpl::make_suffix_array(text);

  // And use it to show the suffixes sorted lexicographically.
  for (size_t suffix : sa)
    std::cout << text.substr(suffix) << '\n';
}

How to contribute

You can submit a pull request to improve the library. The code must be well documented, easily legible and independent of global variables.

Read the docs

See http://dieram3.github.io/competitive-programming-library

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].