Welcome to hpdg (High-Performance Data Generator)!
hpdg is a high-performance data generator for competitive programming use, which put performance at the first place. As it is written in Rust, it should be faster than Luogu's CYaRon data generator. It will also make the program almost impossible to misuse different varibles for Rust's strong and safe typing system.
This problem is currently under heavy development and isn't ready for production use. Any PR / Issue is welcome.
This is a data generator for competitive programming (Olympaid in Informatics) problems.
Compared to Luogu's CYaRon, this project aims to be a faster data generator written in Rust.
- Fast testcase input/output
- Testcase output generation from std program
- Multi-thread data generating for multi-testcase problems.
- Graph (and tree) generating with various parameters.
- Python port and C++ port.
- Testcases
- Graph
- Edge: weighted and unweighted edge which supports creating and printing
- SwitchGraph: a simple graph which supports switching
- Graph:
- Manual creating and editing
- Print the graph in various mode
- Generate trees and binary-trees
- Generate any graphs
- Generate directed and undirected DAGs
- Generate from degree sequences
- Generate connected graphs
- Generate forests
- GraphMatrix: a type of graph represented by adjacency matrix
- Math
- is_perm
- is_pal_string & is_pal_u64
- divisor_sum
- is_pandigital, is_pandigital_u64 & is_pandigital_u64_default
- Other useful functions...