Skip to content

cozysauna/competitive-programming-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

競技プログラミング用ライブラリ(Python)

Array

  • マージソート(merge_sort.py)
  • ソート配列の二分探索 (sorted_array.py)

Prime

  • 互いに素なペアの個数 (coprime_pairs.py)
  • 約数 (divisors.py)
  • 素数判定 (is_prime.py)
  • 素因数分解 (prime_factorize.py)
  • 素因数列挙 (prime_factors.py)
  • 素数列挙(エラトステネスの篩)(sieve_of_eratosthenes.py)
  • 互いに素な自然数の個数&列挙(オイラーのファイ関数)(totient.py)

Graph

  • 最短経路 ベルマンフォード (bellman_ford.py)
  • Binary Indexed Tree (bit.py)
  • 2次元BIT (bit_2d.py)
  • Convex Hull Trick (cht.py)
  • 最短経路 ダイクストラ (dijkstra.py)
  • 最大フロー Dinic法 (dinic.py)
  • オイラーツアー(LCA, Subtree) (euler_tour.py)
  • 遅延セグメント木RAQ (lazy_segtree_raq.py)
  • 遅延セグメント木RMQ (lazy_segtree_rmq.py)
  • 共通祖先 (lca.py)
  • 最長増加部分列 (lis.py)
  • 関節点、橋 (lowlink.py)
  • 最小費用流問題 (min_cost_flow.py)
  • Mo's algorithm (mos.py)
  • 最小全域木 プリム法 (prim.py)
  • 削除可能優先度付きキュー (removable_heapq.py)
  • 全方位木DP (rerooting.py)
  • 強連結成分 (scc.py)
  • セグメント木 (segtree.py)
  • 二次元セグメント木 (segtree_2d.py)
  • Slope Trick (slope_trick.py)
  • Sum Cnt Bit (sum_cnt_bit.py)
  • トポロジカルソート (topological_sort.py)
  • 木の直径 (tree_diameter.py)
  • Trie木 (trie.py)
  • Union-Find (union_find.py)
  • 最短経路 ワーシャルフロイド (warshall_froyd.py)
  • 重み付きUnion-Find (weighted_union_find.py)

Marathon

  • マラソンスニペット (marathon.py)

Number

  • ソート (sort)
    • バブルソート (bubble_sort.py)
    • 二次元ソート (complicated_sort.py)
    • 挿入ソート (insertion_sort.py)
    • マージソート (merge_sort.py)
    • クイックソート (quick_sort.py)
    • 乱択クイックソート (random_quick_sort.py)
    • 選択ソート (selection_sort.py)
  • 進数変換 (base_conversion.py)
  • 二分探索 (binary_search.py)
  • ビットセット (bitset.py)
  • カタラン数 (catalan_number.py)
  • 座標圧縮 (compress.py)
  • 数え上げ (count_up.py)
  • 中国剰余定理 (crt.py)
  • 累積和 (cumsum.py)
  • 二次元累積和 (cumsum2.py)
  • 数字根 (digital_root.py)
  • ダブリング (doubling.py)
  • 拡張ユークリッド (ext_gcd.py)
  • 階乗 (factorial.py)
  • 最大公約数 (gcd.py)
  • 逆元整数・逆元階乗 (inv_number_and_factorial.py)
  • 転倒数 (inversion.py)
  • 最小公倍数 (lcm.py)
  • メビウス関数 (mobius.py)
  • nCr組み合わせ (nCr.py)
  • nCr組み合わせ (逆元対応) (nCr_inverse.py)
  • nPr順列 (逆元対応) (nPr_inverse.py)
  • 部分和問題 (partial_sum.py)
  • ポップカウント (pop_cnt.py)
  • 循環小数 (reccuring_decimal.py)
  • 部分集合 (subset.py)
  • 進数変換 (負の数対応) (to_int.py)
  • 2組のペア (two_pairs.py)

String

  • kmp法 (kmp.py)
  • レーベンシュタイン距離・編集距離 (levenshtein_distance.py)
  • ローリングハッシュ (rollinghash.py)
  • ランレングス圧縮 (run_length_encoding.py)
  • Z algorithm (z_algorithm.py)

Geometry

  • 偏角ソート (degree_sort.py)
  • 多角形の内包判定 (in_convex_polygon.py)
  • 二点を通る直線の式 (line_equation.py)
  • 点と直線の距離 (point_line_distance.py)
  • 回転(時計回り) (rot_clockwise.py)
  • 回転(反時計回り) (rot_counterclockwise.py)
  • 角度回転 (rot_degree.py)
  • ラジアン回転 (rot_radian.py)
  • 三点を通る円(中心・半径)(three_point_circle.py)
  • 三角形の面積(triangle_area.py)
  • 2点の成す角度(two_points_rad.py)

Matrix

  • アフィン変換 (affine_transformation.py)
  • フィボナッチ数列 (fibonacci.py)
  • 行列積 (mat_mul.py)
  • 行列累乗 (mat_pow.py)

About

Library for Competitive Programming with Python

Resources

Stars

Watchers

Forks

Languages