GitXplorerGitXplorer
L

cplit

public
2 stars
0 forks
0 issues

Commits

List of commits on branch main.
Verified
6279ebe4ddf5a4a5b0a23a750488c7733758d70f

Merge pull request #14 from Licheam:dev

LLicheam committed 5 months ago
Unverified
3959d1532f80a318051a848d4c2b202e9a433dba

update version

LLicheam committed 5 months ago
Unverified
f55dcf58cd3a46612d5434b831642540bf1bd298

fix scanln!

LLicheam committed 5 months ago
Unverified
81cb410ffaffd0748c2bc2b3f9fca2e8f23405ab

fix some clippy

LLicheam committed 5 months ago
Unverified
d62fd528e7b010c167ebb2ca31055ddcf63fbaa0

add next_permutation

LLicheam committed 5 months ago
Unverified
f156561e0034452e484182f1e661bfcaa576464e

change unsafe bounds

LLicheam committed 5 months ago

README

The README file for this repository.

cplit

Competitive Programming Library in Rust

This library aims to provide a set of algorithm, data structure and tools for competitive programming.

There are several philosophies behind this library:

  • Simple: The library should be simple and fast to use, as time is precious in competitive programming.
    • Do not overuse Option, Result to provide unnecessary boundary checks (panic is fine).
  • Extensible: Most of algorithms and data structures should not be limited to a specific type.
    • Design genetic traits to allow different types to be used (including potentially user-defined types like matrices).
  • Efficient: The library should be efficient enough for competitive programming problems.
  • Comprehensive: The library should be readable and understandable for educational purposes.
  • Tested: The library should be tested with some problems from online judges to ensure its correctness.
  • Indexed from 1: The library should use 1-based index for most of the algorithms and data structures while leaving the index 0 for buffer manipulation.
    • This is because most of the problem use 1-based index.
    • Index 0 should default be set to ZERO.

Examples

use cplit::scanln;

fn main() {
    let (a, b): (usize, usize);
    scanln!(a, b);
    println!("{}", a + b);
}