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 在 算法 中
每月 950 下载
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);
}