Uni's Library for Competitive Programming
競技プログラミング用の C++ ライブラリです。
ツギハギ設計です。主に依存関係がやばい。修正される予定はないです。
-
action/
: Lazy Segment Tree などに乗る構造. -
adaptor/
: 主に,STL のデータ構造や入出力のラッパー. -
algebraic/
: よく使う代数構造の定義や,手軽に定義するためのヘルパー. -
convolution/
: 畳み込み. -
data_structure/
: データ構造.-
adaptor/
: Fenwick Tree を Set 風に使うためのアダプターなど.
-
-
debugger/
: デバッガー. -
geometry/
: 初等幾何. -
global/
: 主に各種の定数. -
graph/
: グラフ理論全般.木に関するものも含まれる. -
hash/
: 列や集合のハッシャー -
include/
:#include
の詰め合わせ.all.hpp
もある. -
iterable/
: 主に列やイテレータの組に対する操作. -
macro/
: マクロ.主にライブラリ内部で使うもの.internal/
のサブディレクトリにしてもいいかも. -
numeric/
: 主に,数学に関するアルゴリズムと行列. -
random/
: 乱数生成器とそのラッパー. -
sneaky/
: 未定義動作を引き起こす恐れのあるマクロなど. -
snippet/
: 便利のためのマクロや定数など.コンテスト中にも使うもの. -
structure/
: グラフ (隣接リスト),グリッド. -
template/
: コンテスト中によく使うライブラリを一括で#include
したりusing
したりするヘッダ. -
utility/
: その他の便利系ライブラリ. -
view/
: 列のビュー.基本的にはstd::ranges::views::
を踏襲している. -
**/internal/
: 主に内部実装.concepts やメタ関数も含まれる.コンテスト中に個別で#include
することは想定していない.
Expanded header (standard)
Expanded header (whole)
Library Files
action
action/base.hpp
action/helpers.hpp
action/null.hpp
action/range_add.hpp
action/range_add_range_max.hpp
action/range_add_range_min.hpp
action/range_add_range_sum.hpp
action/range_affine_range_minmax.hpp
action/range_affine_range_sum.hpp
action/range_bitxor.hpp
action/range_chgcd_range_gcd.hpp
action/range_chmax_range_max.hpp
action/range_chmin_range_min.hpp
action/range_chminchmax_range_minmax.hpp
action/range_composition.hpp
action/range_flip_range_bitxor.hpp
action/range_gcd.hpp
action/range_max.hpp
action/range_min.hpp
action/range_sequence_hash.hpp
action/range_set.hpp
action/range_set_range_composition.hpp
action/range_set_range_max.hpp
action/range_set_range_min.hpp
action/range_set_range_sum.hpp
action/range_sum.hpp
adaptor
adaptor/array.hpp
adaptor/auto_expander.hpp
adaptor/deque_by_stack.hpp
adaptor/io.hpp
adaptor/map.hpp
adaptor/multi_container.hpp
adaptor/queue_by_stack.hpp
adaptor/range_extractor.hpp
adaptor/set.hpp
adaptor/stack.hpp
adaptor/string.hpp
adaptor/valarray.hpp
adaptor/vector.hpp
adaptor/virtual_map.hpp
adaptor/gnu
adaptor/internal
algebraic
algebraic/addition.hpp
algebraic/affine.hpp
algebraic/assignment.hpp
algebraic/base.hpp
algebraic/bit_and.hpp
algebraic/bit_or.hpp
algebraic/bit_xor.hpp
algebraic/combined.hpp
algebraic/gcd.hpp
algebraic/helper.hpp
algebraic/maximum.hpp
algebraic/minimum.hpp
algebraic/minmax.hpp
algebraic/null.hpp
algebraic/opposite.hpp
algebraic/rolling_hash.hpp
algebraic/internal
convolution
convolution/internal
data_structure/adaptor
data_structure
data_structure/bit_vector.hpp
data_structure/disjoint_set.hpp
data_structure/disjoint_sparse_table.hpp
data_structure/dynamic_segment_tree.hpp
data_structure/dynamic_sequence.hpp
data_structure/dynamic_set.hpp
data_structure/fenwick_tree.hpp
data_structure/foldable_deque.hpp
data_structure/foldable_queue.hpp
data_structure/foldable_stack.hpp
data_structure/kth_element.hpp
data_structure/lazy_segment_tree.hpp
data_structure/persistent_queue.hpp
data_structure/persistent_stack.hpp
data_structure/red_black_tree.hpp
data_structure/removable_priority_queue.hpp
data_structure/restorable_stack.hpp
data_structure/segment_tree.hpp
data_structure/segment_tree_rooter.hpp
data_structure/treap.hpp
data_structure/wavelet_matrix.hpp
data_structure/internal
data_structure/internal/basic_tree_concept.hpp
data_structure/internal/dynamic_tree.hpp
data_structure/internal/node_handler.hpp
data_structure/internal/tree_dumper.hpp
debugger
expanded
geometry
geometry/arrow.hpp
geometry/circle.hpp
geometry/convex_hull.hpp
geometry/line.hpp
geometry/point.hpp
geometry/polygon.hpp
geometry/segment.hpp
geometry/triangle.hpp
global
graph
graph/centroid_decomposition.hpp
graph/centroid_path_decomposition.hpp
graph/connected_components.hpp
graph/is_bipartite.hpp
graph/lowest_common_ancestor.hpp
graph/manhattan_minimum_spanning_tree.hpp
graph/maximum_bipartite_matching.hpp
graph/minimum_paph_cover.hpp
graph/parse_grid.hpp
graph/reachability_test.hpp
graph/shortest_path.hpp
graph/spanning_tree.hpp
graph/topological_sort.hpp
graph/tree_diamiter.hpp
graph/tree_hash.hpp
graph/internal
graph/internal/01bfs.hpp
graph/internal/bfs.hpp
graph/internal/concepts.hpp
graph/internal/dijkstra.hpp
hash
include
include/actions.hpp
include/adaptors.hpp
include/algebraic.hpp
include/all.hpp
include/convolutions.hpp
include/data_structures.hpp
include/essential.hpp
include/geometries.hpp
include/graph_theory.hpp
include/hashes.hpp
include/iterable.hpp
include/numeric.hpp
include/snippets.hpp
include/template.hpp
include/views.hpp
internal
internal/auto_holder.hpp
internal/bit_field.hpp
internal/concepts.hpp
internal/dev_env.hpp
internal/dummy.hpp
internal/exception.hpp
internal/iterator.hpp
internal/point_reference.hpp
internal/range_reference.hpp
internal/ranges.hpp
internal/resolving_rank.hpp
internal/type_traits.hpp
internal/types.hpp
internal/unconstructible.hpp
internal/uncopyable.hpp
iterable
iterable/accumulation.hpp
iterable/adjacent_difference.hpp
iterable/applied.hpp
iterable/compressed.hpp
iterable/count_inversion.hpp
iterable/counter.hpp
iterable/inverse.hpp
iterable/longest_common_subsequence.hpp
iterable/longest_increasing_subsequence.hpp
iterable/operation.hpp
iterable/run_length_encoding.hpp
iterable/z_array.hpp
iterable/internal
macro
macro/internal
numeric
numeric/arithmetic.hpp
numeric/binomial_coefficient.hpp
numeric/bit.hpp
numeric/boundary_seeker.hpp
numeric/divisor_multiple_transform.hpp
numeric/divisors.hpp
numeric/extremum_seeker.hpp
numeric/factorial.hpp
numeric/fast_prime.hpp
numeric/float.hpp
numeric/hilbert_order.hpp
numeric/int128.hpp
numeric/interval_scanner.hpp
numeric/leveler.hpp
numeric/limits.hpp
numeric/matrix.hpp
numeric/numerical_sequence.hpp
numeric/prime_counter.hpp
numeric/prime_enumerator.hpp
numeric/prime_sieve.hpp
numeric/quotient_enumerator.hpp
numeric/repeater.hpp
numeric/stern_brocot_tree.hpp
numeric/subset_enumerator.hpp
numeric/subset_superset_transform.hpp
numeric/internal
numeric/internal/divisors.hpp
numeric/internal/factorize.hpp
numeric/internal/mo.hpp
numeric/internal/mod.hpp
numeric/internal/number_base.hpp
numeric/internal/primality_test.hpp
numeric/internal/primitive_root.hpp
numeric/internal/two_pointer_technique.hpp
numeric/modular
numeric/modular/barrett_reduction.hpp
numeric/modular/binary_reduction.hpp
numeric/modular/builtin_reduction.hpp
numeric/modular/modint.hpp
numeric/modular/modint_interface.hpp
numeric/modular/montgomery_reduction.hpp
others/bench/dynamic_sequence
random
sneaky
snippet
snippet/internal
structure
template
template/debug.hpp
template/small.hpp
template/standard.hpp
template/using.hpp
template/warnings.hpp
utility
utility/internal
verify/aizu-online-judge/itp1_1_a/internal
verify/aizu-online-judge/itp1_1_a/internal/dynamic_sequence.0000.hpp
verify/aizu-online-judge/itp1_1_a/internal/dynamic_sequence.0001.hpp
view
view/chunk.hpp
view/concat.hpp
view/cyclic.hpp
view/enumerate.hpp
view/repeat.hpp
view/slide.hpp
view/stride.hpp
view/zip.hpp
view/internal
Verification Files
verify/aizu-online-judge/0342
verify/aizu-online-judge/1508
verify/aizu-online-judge/1508/0000.test.cpp
verify/aizu-online-judge/1508/0001.test.cpp
verify/aizu-online-judge/1508/0002.test.cpp
verify/aizu-online-judge/1549
verify/aizu-online-judge/1549/0000.test.cpp
verify/aizu-online-judge/1549/0001.test.cpp
verify/aizu-online-judge/1549/0002.test.cpp
verify/aizu-online-judge/1549/0003.test.cpp
verify/aizu-online-judge/2320
verify/aizu-online-judge/2426
verify/aizu-online-judge/alds1_10_c
verify/aizu-online-judge/alds1_11_d
verify/aizu-online-judge/alds1_14_b
verify/aizu-online-judge/cgl_1_a
verify/aizu-online-judge/cgl_1_b
verify/aizu-online-judge/cgl_1_c
verify/aizu-online-judge/cgl_2_a
verify/aizu-online-judge/cgl_2_b
verify/aizu-online-judge/cgl_2_c
verify/aizu-online-judge/cgl_3_a
verify/aizu-online-judge/cgl_3_b
verify/aizu-online-judge/cgl_4_a
verify/aizu-online-judge/cgl_7_a
verify/aizu-online-judge/cgl_7_b
verify/aizu-online-judge/cgl_7_c
verify/aizu-online-judge/dsl_1_a
verify/aizu-online-judge/dsl_2_a
verify/aizu-online-judge/dsl_2_d
verify/aizu-online-judge/dsl_2_d/0000.test.cpp
verify/aizu-online-judge/dsl_2_d/0001.test.cpp
verify/aizu-online-judge/dsl_2_d/0002.test.cpp
verify/aizu-online-judge/dsl_2_d/0003.test.cpp
verify/aizu-online-judge/dsl_2_d/0004.test.cpp
verify/aizu-online-judge/dsl_2_d/0005.test.cpp
verify/aizu-online-judge/dsl_2_d/0006.test.cpp
verify/aizu-online-judge/dsl_2_d/0007.test.cpp
verify/aizu-online-judge/dsl_2_d/0008.test.cpp
verify/aizu-online-judge/dsl_2_d/0009.test.cpp
verify/aizu-online-judge/dsl_2_e
verify/aizu-online-judge/dsl_2_f
verify/aizu-online-judge/dsl_2_f/0000.test.cpp
verify/aizu-online-judge/dsl_2_f/0001.test.cpp
verify/aizu-online-judge/dsl_2_f/0002.test.cpp
verify/aizu-online-judge/dsl_2_f/0003.test.cpp
verify/aizu-online-judge/dsl_2_f/0004.test.cpp
verify/aizu-online-judge/dsl_2_f/0005.test.cpp
verify/aizu-online-judge/dsl_2_g
verify/aizu-online-judge/dsl_2_g/0000.test.cpp
verify/aizu-online-judge/dsl_2_g/0001.test.cpp
verify/aizu-online-judge/dsl_2_g/0002.test.cpp
verify/aizu-online-judge/dsl_2_g/0003.test.cpp
verify/aizu-online-judge/dsl_2_h
verify/aizu-online-judge/dsl_2_h/0000.test.cpp
verify/aizu-online-judge/dsl_2_h/0001.test.cpp
verify/aizu-online-judge/dsl_2_h/0002.test.cpp
verify/aizu-online-judge/dsl_2_h/0003.test.cpp
verify/aizu-online-judge/dsl_2_h/0004.test.cpp
verify/aizu-online-judge/dsl_2_i
verify/aizu-online-judge/grl_1_a
verify/aizu-online-judge/itp1_1_a
verify/aizu-online-judge/itp1_1_a/0000.test.cpp
verify/aizu-online-judge/itp1_1_a/0001.test.cpp
verify/aizu-online-judge/itp1_1_a/0002.test.cpp
verify/aizu-online-judge/itp1_1_a/0003.test.cpp
verify/aizu-online-judge/itp1_1_a/0004.test.cpp
verify/aizu-online-judge/itp1_1_a/0005.test.cpp
verify/aizu-online-judge/itp1_1_a/0006.test.cpp
verify/aizu-online-judge/itp1_1_a/0007.test.cpp
verify/aizu-online-judge/itp1_1_a/0008.test.cpp
verify/aizu-online-judge/itp1_1_a/0009.test.cpp
verify/aizu-online-judge/itp1_1_a/0010.test.cpp
verify/aizu-online-judge/itp1_1_a/0011.test.cpp
verify/aizu-online-judge/itp1_1_a/0012.test.cpp
verify/aizu-online-judge/itp1_1_a/0013.test.cpp
verify/aizu-online-judge/itp1_1_a/0014.test.cpp
verify/aizu-online-judge/itp1_1_a/0015.test.cpp
verify/aizu-online-judge/itp1_6_c
verify/aizu-online-judge/ntl_1_a
verify/yosupo-judge/associative_array
verify/yosupo-judge/associative_array/0000.test.cpp
verify/yosupo-judge/associative_array/0001.test.cpp
verify/yosupo-judge/associative_array/0002.test.cpp
verify/yosupo-judge/associative_array/0003.test.cpp
verify/yosupo-judge/binomial_coefficient
verify/yosupo-judge/binomial_coefficient_prime_mod
verify/yosupo-judge/binomial_coefficient_prime_mod/0000.test.cpp
verify/yosupo-judge/binomial_coefficient_prime_mod/0001.test.cpp
verify/yosupo-judge/binomial_coefficient_prime_mod/0002.test.cpp
verify/yosupo-judge/binomial_coefficient_prime_mod/0003.test.cpp
verify/yosupo-judge/bipartitematching
verify/yosupo-judge/convolution_mod
verify/yosupo-judge/convolution_mod_1000000007
verify/yosupo-judge/counting_primes
verify/yosupo-judge/deque_operate_all_composite
verify/yosupo-judge/deque_operate_all_composite/0000.test.cpp
verify/yosupo-judge/deque_operate_all_composite/0001.test.cpp
verify/yosupo-judge/deque_operate_all_composite/0002.test.cpp
verify/yosupo-judge/deque_operate_all_composite/0003.test.cpp
verify/yosupo-judge/deque_operate_all_composite/0004.test.cpp
verify/yosupo-judge/deque_operate_all_composite/0005.test.cpp
verify/yosupo-judge/double_ended_priority_queue
verify/yosupo-judge/dynamic_sequence_range_affine_range_sum
verify/yosupo-judge/dynamic_sequence_range_affine_range_sum/0000.test.cpp
verify/yosupo-judge/dynamic_sequence_range_affine_range_sum/0001.test.cpp
verify/yosupo-judge/dynamic_sequence_range_affine_range_sum/0002.test.cpp
verify/yosupo-judge/dynamic_sequence_range_affine_range_sum/0003.test.cpp
verify/yosupo-judge/dynamic_sequence_range_affine_range_sum/0004.test.cpp
verify/yosupo-judge/dynamic_sequence_range_affine_range_sum/0005.test.cpp
verify/yosupo-judge/enumerate_primes
verify/yosupo-judge/enumerate_quotients
verify/yosupo-judge/factorize
verify/yosupo-judge/gcd_convolution
verify/yosupo-judge/kth_root_integer
verify/yosupo-judge/lca
verify/yosupo-judge/lcm_convolution
verify/yosupo-judge/longest_increasing_subsequence
verify/yosupo-judge/manhattanmst
verify/yosupo-judge/many_aplusb_128bit
verify/yosupo-judge/matrix_det_arbitrary_mod
verify/yosupo-judge/matrix_det_arbitrary_mod/0000.test.cpp
verify/yosupo-judge/matrix_det_arbitrary_mod/0001.test.cpp
verify/yosupo-judge/matrix_product
verify/yosupo-judge/matrix_product/0000.test.cpp
verify/yosupo-judge/matrix_product/0001.test.cpp
verify/yosupo-judge/matrix_product/0002.test.cpp
verify/yosupo-judge/matrix_product/0003.test.cpp
verify/yosupo-judge/matrix_product/0004.test.cpp
verify/yosupo-judge/matrix_product/0005.test.cpp
verify/yosupo-judge/matrix_product/0006.test.cpp
verify/yosupo-judge/matrix_product/0007.test.cpp
verify/yosupo-judge/matrix_product/0008.test.cpp
verify/yosupo-judge/matrix_product/0009.test.cpp
verify/yosupo-judge/matrix_product/0010.test.cpp
verify/yosupo-judge/matrix_product/0011.test.cpp
verify/yosupo-judge/matrix_product/0012.test.cpp
verify/yosupo-judge/matrix_product/0013.test.cpp
verify/yosupo-judge/matrix_product/0014.test.cpp
verify/yosupo-judge/matrix_product/0015.test.cpp
verify/yosupo-judge/persistent_queue
verify/yosupo-judge/point_add_range_sum
verify/yosupo-judge/point_add_range_sum/0000.test.cpp
verify/yosupo-judge/point_add_range_sum/0001.test.cpp
verify/yosupo-judge/point_add_range_sum/0002.test.cpp
verify/yosupo-judge/point_add_range_sum/0003.test.cpp
verify/yosupo-judge/point_add_range_sum/0004.test.cpp
verify/yosupo-judge/point_set_range_composite
verify/yosupo-judge/point_set_range_composite/0000.test.cpp
verify/yosupo-judge/point_set_range_composite/0001.test.cpp
verify/yosupo-judge/point_set_range_composite/0002.test.cpp
verify/yosupo-judge/point_set_range_composite/0003.test.cpp
verify/yosupo-judge/predecessor_problem
verify/yosupo-judge/predecessor_problem/0000.test.cpp
verify/yosupo-judge/predecessor_problem/0001.test.cpp
verify/yosupo-judge/predecessor_problem/0002.test.cpp
verify/yosupo-judge/predecessor_problem/0003.test.cpp
verify/yosupo-judge/primality_test
verify/yosupo-judge/primitive_root
verify/yosupo-judge/queue_operate_all_composite
verify/yosupo-judge/queue_operate_all_composite/0000.test.cpp
verify/yosupo-judge/queue_operate_all_composite/0001.test.cpp
verify/yosupo-judge/queue_operate_all_composite/0002.test.cpp
verify/yosupo-judge/queue_operate_all_composite/0003.test.cpp
verify/yosupo-judge/queue_operate_all_composite/0004.test.cpp
verify/yosupo-judge/queue_operate_all_composite/0005.test.cpp
verify/yosupo-judge/range_affine_range_sum
verify/yosupo-judge/range_affine_range_sum/0000.test.cpp
verify/yosupo-judge/range_affine_range_sum/0001.test.cpp
verify/yosupo-judge/range_affine_range_sum/0002.test.cpp
verify/yosupo-judge/range_affine_range_sum/0003.test.cpp
verify/yosupo-judge/range_affine_range_sum/0004.test.cpp
verify/yosupo-judge/range_affine_range_sum/0005.test.cpp
verify/yosupo-judge/range_affine_range_sum/0006.test.cpp
verify/yosupo-judge/range_affine_range_sum/0007.test.cpp
verify/yosupo-judge/range_affine_range_sum/0008.test.cpp
verify/yosupo-judge/range_kth_smallest
verify/yosupo-judge/range_kth_smallest/0000.test.cpp
verify/yosupo-judge/range_kth_smallest/0001.test.cpp
verify/yosupo-judge/range_kth_smallest/0002.test.cpp
verify/yosupo-judge/range_kth_smallest/0003.test.cpp
verify/yosupo-judge/range_reverse_range_sum
verify/yosupo-judge/rectangle_sum
verify/yosupo-judge/shortest_path
verify/yosupo-judge/shortest_path/0000.test.cpp
verify/yosupo-judge/shortest_path/0001.test.cpp
verify/yosupo-judge/shortest_path/0002.test.cpp
verify/yosupo-judge/static_range_frequency
verify/yosupo-judge/static_range_frequency/0000.test.cpp
verify/yosupo-judge/static_range_frequency/0001.test.cpp
verify/yosupo-judge/static_range_sum
verify/yosupo-judge/static_range_sum/0000.test.cpp
verify/yosupo-judge/static_range_sum/0001.test.cpp
verify/yosupo-judge/static_range_sum/0002.test.cpp
verify/yosupo-judge/static_range_sum/0003.test.cpp
verify/yosupo-judge/static_range_sum/0004.test.cpp
verify/yosupo-judge/static_range_sum/0005.test.cpp
verify/yosupo-judge/static_range_sum/0006.test.cpp
verify/yosupo-judge/static_range_sum/0007.test.cpp
verify/yosupo-judge/static_range_sum/0008.test.cpp
verify/yosupo-judge/staticrmq
verify/yosupo-judge/staticrmq/0000.test.cpp
verify/yosupo-judge/staticrmq/0001.test.cpp
verify/yosupo-judge/staticrmq/0002.test.cpp
verify/yosupo-judge/staticrmq/0003.test.cpp