Hedwig's Library
C++で書かれた競技プログラミングのためのライブラリ.
セットアップ
git clone https://github.com/hedwig100/procon-cpp
cd procon-cpp
python3 -m venv .venv
source venv/bin/activate
pip install -r requirements.txt
python3 snippets_generator.py
online-judge-toolでコンテスト中にテストケースを手に入れるためにログインしておく.
oj login https://atcoder.jp/
コンテストの準備は次のように行う. もし次のコンテストが abc001 ならば,
source setup.sh abc001
Library Files
data_structures
 data_structures/binary_indexed_tree.cpp
            
        
 data_structures/binary_indexed_tree2d.cpp
            
        
 data_structures/convex_hull_trick.cpp
            
        
 data_structures/lazy_segment_tree.cpp
            
        
 data_structures/segment_tree.cpp
            
        
 data_structures/sliding_window_aggregation.cpp
            
        
 data_structures/unionfind.cpp
            
        
 data_structures/wavelet_matrix.cpp
            
        
 data_structures/weighted_unionfind.cpp
            
        
dynamic_programming
 dynamic_programming/edit_distance.cpp
            
        
 dynamic_programming/longest_common_sequence.cpp
            
        
 dynamic_programming/longest_increasing_sequence.cpp
            
        
graph
 graph/beruman_ford.cpp
            
        
 graph/bfs.cpp
            
        
 graph/bfs01.cpp
            
        
 graph/constrained_maxflow.cpp
            
        
 graph/dijkstra.cpp
            
        
 graph/dinic.cpp
            
        
 graph/kruscal.cpp
            
        
 graph/lowest_common_ancestor.cpp
            
        
 graph/lowlink.cpp
            
        
 graph/prim.cpp
            
        
 graph/primal_dual.cpp
            
        
 graph/primal_dual2.cpp
            
        
 graph/rerooting.cpp
            
        
 graph/strongly_connected_components.cpp
            
        
 graph/topological_sort.cpp
            
        
math
 math/accum1d.cpp
            
        
 math/bell_number.cpp
            
        
 math/euclid.cpp
            
        
 math/fast_fourier_transform.cpp
            
        
 math/kitamasa.cpp
            
        
 math/line.cpp
            
        
 math/matrix.cpp
            
        
 math/mint.cpp
            
        
 math/mod_comb.cpp
            
        
 math/number_theoretic_transform.cpp
            
        
 math/number_theory.cpp
            
        
 math/osa_k.cpp
            
        
 math/partition_number.cpp
            
        
 math/point.cpp
            
        
 math/polygon.cpp
            
        
 math/prime.cpp
            
        
 math/stirling_number2.cpp
            
        
 math/zeta.cpp
            
        
other_algorithm
 other_algorithm/compress.cpp
            
        
 other_algorithm/grid_utils.cpp
            
        
 other_algorithm/index_generator.cpp
            
        
 other_algorithm/mo.cpp
            
        
 other_algorithm/perm_search.cpp
            
        
 other_algorithm/two_pointers.cpp
            
        
string
 string/mp.cpp
            
        
 string/rolling_hash.cpp
            
        
 string/run_length.cpp
            
        
 string/suffix_array.cpp
            
        
 string/trie.cpp
            
        
 string/z_algorithm.cpp
            
        
test
Verification Files
test
 test/bell_number.test.cpp
            
        
 test/beruman_ford.test.cpp
            
        
 test/bfs.test.cpp
            
        
 test/binary_indexed_tree.test.cpp
            
        
 test/convex_hull.test.cpp
            
        
 test/convex_hull_trick_monotone.test.cpp
            
        
 test/dijkstra.test.cpp
            
        
 test/dinic.test.cpp
            
        
 test/edit_distance.test.cpp
            
        
 test/ext_gcd.test.cpp
            
        
 test/factorization.test.cpp
            
        
 test/factorization2.test.cpp
            
        
 test/garner.test.cpp
            
        
 test/gcd.test.cpp
            
        
 test/gcd_convolutiion.test.cpp
            
        
 test/inversion_number.test.cpp
            
        
 test/isp.test.cpp
            
        
 test/kruscal.test.cpp
            
        
 test/longest_common_sequence.test.cpp
            
        
 test/longest_increasing_sequence.test.cpp
            
        
 test/mod_comb.test.cpp
            
        
 test/ntt_recursive.test.cpp
            
        
 test/partition_number.test.cpp
            
        
 test/polygon_area.test.cpp
            
        
 test/polygon_diameter.test.cpp
            
        
 test/prim.test.cpp
            
        
 test/primal_dual.test.cpp
            
        
 test/primal_dual2.test.cpp
            
        
 test/proj.test.cpp
            
        
 test/reflection.test.cpp
            
        
 test/rmq.test.cpp
            
        
 test/rmq_raq.test.cpp
            
        
 test/rmq_ruq.test.cpp
            
        
 test/rsq_raq.test.cpp
            
        
 test/rsq_ruq.test.cpp
            
        
 test/sample.test.cpp
            
        
 test/ss_distance.test.cpp
            
        
 test/ss_intersection1.test.cpp
            
        
 test/ss_intersection2.test.cpp
            
        
 test/stirling_number2.test.cpp
            
        
 test/strongly_connected_components.test.cpp
            
        
 test/swag.test.cpp
            
        
 test/two_pointers.test.cpp
            
        
 test/unionfind.test.cpp
            
        
 test/weighted_unionfind.test.cpp