12 个不稳定版本 (3 个破坏性更新)

新功能 0.4.1 2024 年 8 月 20 日
0.4.0 2024 年 8 月 16 日
0.3.4 2024 年 8 月 14 日
0.2.3 2024 年 7 月 31 日
0.1.0 2024 年 7 月 29 日

#656算法

Download history 544/week @ 2024-07-28 42/week @ 2024-08-04 364/week @ 2024-08-11

每月 950 下载

MIT 许可证

61KB
1.5K SLoC

cplit

Rust 竞赛编程库

这个库旨在为竞赛编程提供一系列算法、数据结构和工具。

这个库背后有几个哲学理念

  • 简单:这个库应该简单易用,因为时间在竞赛编程中非常宝贵。
    • 不要过度使用 Option、Result 来提供不必要的边界检查(panic 是可以接受的)。
  • 可扩展:大多数算法和数据结构不应该局限于特定类型。
    • 设计遗传特性以允许使用不同类型(包括可能由用户定义的类型,如矩阵)。
  • 高效:这个库应该足够高效以解决竞赛编程问题。
  • 全面:这个库应该对教育目的来说是可读和可理解的。
  • 经过测试:这个库应该使用来自在线判题的一些问题进行测试以确保其正确性。
  • 1 开始索引:这个库应该对大多数算法和数据结构使用基于 1 的索引,而将索引 0 保留给缓冲区操作。
    • 这是因为大多数问题都使用基于 1 的索引。
    • 索引 0 应默认设置为 0。

示例

use cplit::scanln;

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

无运行时依赖