dsalgo 0.3.4

A package for Datastructures and Algorithms.
Documentation
# 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