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