Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

SuperKevinZhou/hpdg

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hpdg

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.

Features (not all implemented yet)

  • 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.

Current State

  • 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...
Morty Proxy This is a proxified and sanitized view of the page, visit original site.