# todo find `TODO` with ctrl + shift + F in VSCode. * [ ]2-sat * [ ]2d segment tree * [ ]2d sqrt decomposition * [ ]64 tree * [ ]add Generic Type F to segment tree for applying. * [ ]aks primalitytest * [ ]b tree * [ ]biconnected components * [ ]binary gcd * [ ]bridge/articulation points (chain decomposition) * [ ]bubble sort * [ ]bucket sort * [ ]cartesian tree * [ ]centroid decomposition * [ ]chain decomposition * [ ]chu liu edmonds * [ ]counting sort * [ ]desopo pape * [ ]dial shortest path * [ ]dual fenwick tree * [ ]dual segment tree * [ ]dual sqrt decomposition * [ ]edmonds karp * [ ]farach-colton and bender * [ ]fenwick tree * [ ]fft butterfly * [ ]fibonacci heap * [ ]ford fulkerson * [ ]formal power series * [ ]general tree path query with BinaryLifting * [ ]general tree path query with HLD * [ ]hopkroft karp * [ ]karatsuba * [ ]lazy segment tree * [ ]lazy sqrt decomposition * [ ]linkcut tree * [ ]linked list (singly, doubly) * [ ]manacher * [ ]mergesort * [ ]mergesort inplace * [ ]minimum cut * [ ]mo algorithm * [ ]ntt * [ ]persistent union find * [ ]pow of pow mod. (x^{y^z} mod p) * [ ]qual tree * [ ]quick sort * [ ]radix hea * [ ]radix heap * [ ]radix sort * [ ]red black tree * [ ]refactor maximum flow algorithms * [ ]refactor potentialized uf * [ ]rerooting dp * [ ]review coordinate compression * [ ]rolling hash * [ ]shaker sort * [ ]slidng window aggregation * [ ]sorted set (tatyam) * [ ]review splay tree * [ ]sqrt tree * [ ]tensor * [ ]tetoration mod * [ ]tonelli shanks * [ ]review avl tree * [ ]toom-cook * [ ]tree diameter * [ ]twelvefold way * [ ]xor_sparse_table * [ ]z algorithm * [ ]insertion sort * [ ]minimum cost flow * replace set(i, x) -> apply(i, x) and apply function of type F and set(i, x) is gonnabe an extension for segment tree but primitime core API. consider dual segment tree and lazy segment tree similarly. * [ ]refactor subset sum with knapsack (or ndim knapsack) * [ ]refactor knapsack with 3d knapsack (or ndim knapsack) * [ ]impl 3d knapsack * [ ]impl ndim knapsack * [ ]genelized knapsack items to i64 from u64 (pre-compute offset and normalize smallest to 0 internally). * [ ]ndim tensor * [ ]ndim segment tree * [ ]3d segment tree * [ ]min-max priority queue * [ ]newton raphson division * [ ]toom-cook multiplication * [ ]schonhage-strassen * [ ]graph cycle detection * [ ]lucas lehmer * [ ]pocklington * [ ]rng xorshift (32, 96, 128, 246, 1024) * [ ]rng xoshiro * [ ]rng chacha * [ ]rng pcg * [ ]rng mersenne twister * [ ]rename Modular -> ModularInt, and define ModularArthmetic struct (no instance, only associated functions), use modulararthmetic - [ ]binary gcd - [ ]modular arithmetic trait