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