Crate dsalgo

Source

Modules§

abs_diff
accumulate_iterator
accumulate_vec
adaptive_heap_sort
add_middle_nodes_and_make_double_tree_undirected_tuple_edges
add_with_xor_and_bitwise_and
addressable_heap
adjacency_list_graph_from_edges
adjacency_list_graph_from_edges_weighted
adjacency_list_graph_old
adjacency_list_graph_with_edge_id_from_edges
adjacency_list_to_directed_edges
adjacency_matrix_graph
af_heap
aho_corasick
algebraic_structure
algebraic_structure_impl
algebraic_structure_std
all_pairs_shortest_path
all_pairs_xor_sum
analysis
analysis_root_finding
Analysis Root Finding Algorithm for given f(x), find x such that f(x) = 0
analysis_search
apsp_johnson_dense
apsp_johnson_sparse
arborescence
Minimum Spanning Arborescence
argmax
argmin
argsort
arithmetic_series_with_diff
arithmetic_series_with_last
array_compression_unique_binary_search
array_rank_with_argsort
similar to array_compression_with_argsort.rs but each rank is unique. if same value, sort by original index.
articulation_point
articulation_points_detection_chain_decomposition
articulation_points_detection_lowlink
ascii_characters
automorphism
auxiliary_tree
avl_array
avl_tree
avl_tree_array
avl_tree_ngtkn
avl_tree_node_with_box_recurse_merge_split_based
avl_tree_node_with_key_value_size_box_recurse
avl_tree_node_with_rc_refcell_merge_split_based_recurse
avl_tree_node_with_value_size_box_recurse
avl_tree_ordered_multiset
avl_tree_ordered_multiset_merge_split_based
avl_tree_ordered_multiset_merge_split_based_rc_refcell
b_plus_tree
b_star_tree
balanced_tree
ball_tree
barrett_reduction
base_conversion_base_k_to_decimal
base_conversion_decimal_to_base_k_with_divmod
base_conversion_decimal_to_base_k_with_euclid_divrem
batcher_odd_even_mergesort
bdd
bead_sort
beatty_sequence
bellman_ford_abstract_dp
bellman_ford_dense
bellman_ford_shortest_path_tree
bellman_ford_sssp_option_i64_with_negative_cycle_error
bellman_ford_sssp_tuple_edges_no_error_with_inf_i64
bellman_ford_sssp_tuple_edges_no_error_with_inf_i64_with_abstract
bfs_01_priority_queue
bfs_on_sparse_graph_in_degree_oriented
bfs_on_sparse_graph_in_degree_oriented_with_data
bidirected_graph
bijection
bin_count
binary_decision_diagram
binary_function
binary function
binary_greatest_common_divisor_u64
binary_heap
binary_heap_std_impl_priority_queue
binary_min_heap_0_indexed
binary_min_heap_impl_priority_queue
binary_relation
binary_search_2_ok_usize
for sequence, see crate::binary_search_on_sequence.
binary_search_f64_with_max_epoch
binary_search_f64_with_terminate_func
binary_search_ng_ok_i64
for sequence, see crate::binary_search_on_sequence.
binary_search_numeric
binary_search_on_slice_bisection_of_2_ok
binary_search_on_slice_bisection_of_ng_ok
binary_space_partitioning
binary_tree
binary_tree_node
binomial_heap
bisection_analysis
bit_array
bit_length_binary_search_u64
bit_length_naive_u64
bit_length_primitive
bit_length_table
bit_length_with_count_leading_zeros_u64
bit_length_with_count_leading_zeros_u128
bit_length_with_count_leading_zeros_usize
bit_reverse_divide_and_conquer_butterfly_usize
bit_reverse_with_std_usize
bit_set
bit_vector
bitonic_sort
bitops
bits_mask_less_than
bits_mask_range
bk_tree
block_cut_tree
block_sort
bool_to_int
borsuk_ulam
breadth_first_search_tree_from_adjacency_list
return undirected edges input: bidirected adjacency list (undirected graph) output: undirected edges [(u, v)] u < v. (but not sorted vertically) (deal with no given priority between u and v, and among edges.)
breadth_first_search_tree_from_edges
make a bfs tree from given undirected csgraph edges. return added flagged boolean result. if the given graph is not connected, make a bfs tree for the connected component containing source node.
brent_cycle_detection
bridge_finding
bsp
btree_multiset
bubble_sort
bucket_sort
bucket_sort_make_argument_left_table
bucket_sort_make_argument_right_table
burn_embed
bx_tree
bytes_to_char_vec
cache_oblivious_distributing_sort
cached_fibonacci_number
caesar_cipher
carmichael_theorem
cartesian_coordinates_trait
cartesian_product
cartesian_tree
cascade_merge_sort
catalan_number_with_formula_modular_with_factorial_tables_usize
catalan_number_with_formula_modular_with_instant_choose_fn_usize
catalan_numbers_constant
catalan_numbers_table_modular_usize_with_dp
category
category_theory
ceil_division_i64
ceil_square_root_u64
center_nodes_of_tree
find a pair of center nodes of the given unweited tree graph. if tree diameter is even or number of nodes in the path is odd, two center nodes are same.
centroid_decomposition
change_max
change_min
chebyshev_distance_2d_i64
chebyshev_distance_ndim_i64
check_compressed_sparse_graph_is_sorted
check_two_circles_intersection
chinese_postman_problem
chinese_remainder_theorem
chinese_remainder_theorem_extended_euclidean_gcd_coprime_i64
chinese_remainder_theorem_extended_euclidean_gcd_coprime_usize
chinese_remainder_theorem_extended_euclidean_gcd_i64
chinese_remainder_theorem_extended_euclidean_gcd_prod_i64
chinese_remainder_theorem_extended_euclidean_gcd_prod_i64_direct
chinese_remainder_theorem_extended_euclidean_gcd_prod_usize
chinese_remainder_theorem_extended_euclidean_gcd_safe_i64
chinese_remainder_theorem_extended_euclidean_gcd_safe_usize
chinese_remainder_theorem_extended_euclidean_gcd_usize
chinese_remainder_theorem_garner_algorithm_i64
chinese_remainder_theorem_garner_algorithm_with_mod_i64
choose
cht
chu_liu_edmonds_minimum_spanning_arborescence
cipolla_algorithm
circle_2d_cartesian_i64
circle_dividing
circle_hough_transform
circular_buffer_deque
circular_buffer_queue
closest_pair_points
cmp
cocktail_shaker_sort
collection
collection_macro
comb_sort
combination_choose
combination_from_u64
combinatorics
comparison_sort
complete_digraph
complete_graph
complete_permutations
complex_number
complex_number_f64
complex_number_polar_form_f64
composition_category_theory
compressed_sparse_graph_from_dense_with_inf
compressed_sparse_graph_from_edges
connected_components
connected_components_bfs
compute connected components on undirected graphs.
connected_components_dfs
connected_components_dfs_recurse
connected_components_dsu
connected_components_group_by_id
connected_components_labels_to_groups
const_ascii_characters
const_generics_dimensional_geometric_vector
const_generics_dimensional_geometric_vector_i64
const_generics_modular_int_i64
const_generics_n_dim_dynamic_shaped_tensor
const_generics_ndim_vector
const_generics_shaped_matrix
const_generics_shaped_matrix_impl_semiring_with_std_ops
const_generics_shaped_matrix_with_flattened_data
const_generics_sized_square_matrix
const_generics_sized_square_matrix_impl_semiring_with_std_ops
const_generics_sized_square_matrix_on_usize_bitwise_xor_and
const_matrix_property_trait
const_modulus_frequent
const_modulus_trait
const_montmort_numbers_usize
const_square_matrix_property_trait
container
convert_to_bool
convex_hull_monotone_chain
convex_hull_trick
convolution_with_discrete_fourier_transform_f64
convolution_with_fft_cooley_tukey_inplace_f64
convolution_with_fft_cooley_tukey_recurse_f64
coordinates_compression
count_common_subsequences
count_common_substrings
count_distinct_substrings
count_divisors_by_factorization
count_divisors_naive
count_leading_zeros
count_leading_zeros_std
count_subsequences
count_subset_sum
count_trailing_zeros_in_digits_double_factorial
count_trailing_zeros_in_digits_factorial_legendre
count_trailing_zeros_std
counting_argsort
counting_array_rank
counting_sort
cover_tree
crt
cumulative_array
static range query for group like.
cumulative_product_vec_with_std_mul
cut_vertex
cycle_detection_undirected_graph_union_find
cycle_nodes_detection_on_undirected_unicyclic_simple_graph_with_bfs
on undirected unicyclic simple graph. detect each node is in the cycle or not.
cycle_nodes_detection_on_undirected_unicyclic_simple_graph_with_dfs
dancing_link
dancing_tree
day_stout_warren
dearangement
debug_macro
decision_tree
default
default_static_modular_arithmetic
define_const_modulus_macro
define_const_modulus_with_const_generics_macro
define_static_modulus_macro_with_atomic_cell
deletion
dense_graph_from_edges_with_inf
dense_graph_from_not_simple_edges_with_inf
manage minimum weigted edges.
depth_first_search_tree_from_adjacency_list_recurse
depth_first_search_tree_from_edges_recurse
deque_with_2_stacks
dial_sortest_path
digits_sum
dijkstra_arborescence
dijkstra_dense_i64_with_inf
dijkstra_dense_option_u64
dijkstra_queue_binary_heap_std
dijkstra_shortest_path_count_modular_i64_with_inf_sparse
dijkstra_sparse
dijkstra_sparse_from_potential
dijkstra_sparse_general_extended
dijkstra_sparse_option
dijkstra_sparse_parents
dijkstra_sparse_path_count
dijkstra_sparse_predecessors
dijkstra_sparse_queue
dijkstra_sparse_tuple_edges_adjacency_list_i64_with_const_inf
dijkstra_sparse_tuple_edges_adjacency_list_i64_with_initial_dist
dijkstra_sparse_tuple_edges_adjacency_list_u64_with_inf
dijkstra_tree
directed_acyclic_word_graph
directed_lowlink
discrete_fourier_transform_f64
discrete_logarithm
dist_2d_to_the_power_of_2
distance_on_tree_query_with_lca_doubling
divisor
divisor_function
divisor_function_table_naive
divisor_function_table_with_divisor_fast_zeta
divisor_function_table_with_divisor_zeta
divisors_count_from_prime_factors
divisors_from_prime_factors
divisors_sum_by_fatorization
divisors_sum_from_prime_factors
divisors_sum_table
divisors_table
divmod
dlp
double_ended_queue
double_factorial_table_from_i32
doubly_chained_tree
doubly_linked_list_deque
doubly_linked_list_node
dual_unbounded_subset_sum_min_count_item_oriented_with_inf
dual_unbounded_subset_sum_min_count_sum_oriented_with_inf
dynamic_array_queue
dynamic_matrix_property_trait
dynamic_modular_arithmetic_trait
dynamic_modulus
dynamic_modulus_trait
dynamic_shaped_matrix
dynamic_shaped_matrix_impl_reverse
dynamic_shaped_matrix_impl_rotate
dynamic_shaped_matrix_impl_semiring_with_std
dynamic_shaped_matrix_impl_transpose
dynamic_shaped_matrix_with_flattened_data
dynamic_sliding_window_maximum_queue_i64
dynamic_sliding_window_sum_deque_i64
dynamic_sqrt_bucket
dynamic_sqrt_bucket_multiset
dynamic_tensor
dynamic_tensor_shape
dynamic tensor shape for static tensor.
edges_to_0_indexed
enumerate_combinations_bits_with_next_combination
enumerate_combinations_dfs
enumerate_combinations_dfs_recurse
enumerate_combinations_inplace_iterative
enumerate_cycles_of_functional_graph_with_bfs
enumerate_cycles_of_functional_graph_with_dfs_recurse
enumerate_divisors
enumerate_highly_composite_numbers_bigint_priority_search
enumerate_highly_composite_numbers_prime_factor_dp
enumerate_highly_composite_numbers_priority_search
enumerate_homogeneous_products_dfs_recurse
enumerate_homogeneous_products_inplace_iterative
enumerate_nodes_in_rectangle_static_offline_with_event_sort
enumerate_nodes_in_rectangle_static_with_1d_bisect
enumerate_nodes_in_rectangle_static_with_array_compression_bisect
enumerate_nodes_in_rectangle_static_with_kd_tree
enumerate_prime_factor_candidates_for_highly_composite_numbers
enumerate_repeated_products_dfs_recurse
enumerate_repeated_products_inplace_iterative
enumerate_stepping_numbers_between_with_bfs
enumerate_stepping_numbers_less_than_with_bfs
enumerate_subset_bits
eppstein_algorithm
ett
euler tour teqnique
euclidean_division_i64
euler_criterion
euler_jacobi_pseudo_prime
euler_phi_function
euler_phi_table_mobius_inversion_formula_divisor_fast_zeta_modint
euler_phi_table_mobius_inversion_formula_divisor_zeta_modint
euler_totient_function
related
euler_totient_function_table_with_divisor_fast_mobius
euler_totient_function_table_with_divisor_mobius
euler_totient_function_table_with_multiplicative_divisor_fast_zeta
euler_totient_function_table_with_multiplicative_divisor_zeta
euler_totient_with_instant_prime_factorize
euler_totient_with_least_prime_factor_table_usize
euler_totient_with_trial_division_i64
euler_totient_with_trial_division_u64
euler_totient_with_trial_division_usize
euler_tour_edges
euler_tour_edges_recurse
euler_tour_nodes_direct
euler_tour_nodes_direct_recurse
euler_tour_nodes_from_edges
euler_tour_teqnique_as_struct
eulerian_circuit
eulerian_path
eulerian_trail
exchange_sort
exponential_tree
extended_euclidean_gcd_generic_int_recurse
extended_euclidean_gcd_i64
extended_euclidean_gcd_i64_recurse
extended_euclidean_modular_gcd_inverse_i64_with_extgcd
extended_euclidean_modular_gcd_inverse_u64_direct
extended_euclidean_modular_gcd_inverse_usize_with_extgcd
factorial
factorial_table_from_i32
factorial_table_from_u64
factorial_tables_frequent_ops_from_i32
factorial_tables_frequent_ops_modular_usize
fairfield_ad_day_formula
farthest_node_on_unweighted_tree
farthest_node_query_on_unweigted_tree
find a farthest node from any node in O(1) a farthest node from each node is one of the tree diameter terminals.
fast_fourier_transform
fast_fourier_transform_bruun
fast_fourier_transform_cooley_tukey_inplace
Fast Fourier Transform Cooley-Tukey’s Algorithm Iterative Inplace
fast_fourier_transform_cooley_tukey_inplace_recurse
fast_fourier_transform_cooley_tukey_recurse
Fast Fourier Transform Cooley-Tukey’s Algorithm Recurse
fast_io_template
mainly used in competitive programming template main function.
fast_mobius_transform
fast_mobius_transform_for_divisors_additive_with_std
fast_mobius_transform_for_divisors_with_instant_func
fast_mobius_transform_for_multiples_additive_with_std
fast_mobius_transform_for_multiples_with_instant_func
fast_mobius_transform_for_subset
fast_mobius_transform_for_subset_additive_with_std
fast_mobius_transform_for_superset
fast_mobius_transform_for_superset_additive_with_std
fast_modulo_transform
fast_prime_factorize_large_numbers
fast_zeta_transform
fast_zeta_transform_for_divisors_additive_with_std
fast_zeta_transform_for_divisors_with_instant_func
fast_zeta_transform_for_multiples_additive_with_std
fast_zeta_transform_for_multiples_with_instant_func
fast_zeta_transform_for_subset
fast_zeta_transform_for_subset_additive_with_std
fast_zeta_transform_for_subset_additive_with_std_optim
fast_zeta_transform_for_superset
fast_zeta_transform_for_superset_additive_with_std
fenwick_tree
fenwick tree (binary indexed tree)
fenwick_tree_2d
fenwick_tree_2d_abelian_group
fenwick_tree_2d_i64_add
fenwick_tree_2d_recurse
fenwick_tree_additive_abelian_group
fenwick_tree_additive_from_i32
fenwick_tree_dual_i64_add_1_indexed
interface is 0-indexed.
fenwick_tree_dual_with_instance_abelian_group
fenwick_tree_dual_with_instance_commutative_monoid
fenwick_tree_dual_with_primal
fenwick_tree_dynamic_cumulative_sum_2_i64
cumulative sum of cumulative sum.
fenwick_tree_dynamic_cumulative_sum_3_i64
cumulative sum of cumulative sum of cumulative sum.
fenwick_tree_i32_add_0_indexed
fenwick_tree_i32_add_1_indexed
fenwick_tree_i64_gcd
fenwick_tree_min
fenwick_tree_multiset
fenwick_tree_multiset_impl_median
fenwick_tree_multiset_impl_min_max
fenwick_tree_range_add_range_sum_i64
fenwick_tree_usize_add_1_indexed
fenwick_tree_with_instance_abelian_group_1_indexed
fenwick_tree_with_instance_commutative_monoid_1_indexed
fenwick_tree_with_static_abelian_group_1_indexed
fenwick_tree_with_static_commutative_monoid_1_indexed
fenwick_tree_xor
fermat_factorization_method
fft
fibonacci_heap
fibonacci_number
fibonacci_sequence_modular
field
find_a_node_from_given_node_step_by_k_edges_on_tree
find_a_prime_factor_pollard_rho_brent
find_divisor_pollard_rho_repeat_brent
find_divisor_pollard_rho_with_brent_cycle_detection
find_divisor_pollard_rho_with_floyd_cycle_detection
find_divisors_constructive_with_prime_factorize_lpf_table
find_divisors_for_const_remainders
find_divisors_for_same_remainders
find_divisors_trial_division_u64
find_divisors_trial_division_usize
find_first_set
find_kth_permutation
find_kth_set_bit_by_removing_lsb
find_low_median_of_divisors
finger_tree
flat_nonzero_int
flat_nonzero_with_to_bool
inspired by numpy.flatnonzero
flatten_2d_tournament_list_to_1d
float_absolute_error_check
float_relative_error_check
floor_division_i64
floor_square_root_u64
floyd_warshall_abstruct_with_ternary_map
floyd_warshall_apsp_i64_with_inf
floyd_warshall_apsp_option_i64
floyd_warshall_apsp_u64
fold
ford_johnson_algorithm
formal_power_series
fourier_transform
fractal_tree_index
fraction_floor_sum
fraction_floor_sum_with_sqrt_split
fraction_floor_sum_with_sqrt_split_strict
fraction_i64
frobenius_endmorphism
functional_graph
functional_graph_basic_properties
functional_graph_doubling_table
functional_graph_kth_from
functional_graph_kth_from_any_with_doubling
from any node
functional_graph_level_ancestor_with_doubling
functional_graph_prefix_aggregation
functional_graph_prefix_sum
gamma_function
garner_algorithm
gaussian_elimination_xor
gcd_convolution
gcd_convolution_ring_with_std_multiples_fast_zeta_mobius
gcd_convolution_ring_with_std_multiples_zeta_mobius
gcds_for_lcm
gcds_for_sum
general_dijkstra_sparse
general_number_field_sieve
generalized_greatest_common_divisor_trait
genetic_algorithm
geometric_series
geometric_vector_2d
geometric_vector_2d_f64
geometric_vector_2d_i64
geometric_vector_3d
geometry
ghost_leg
gnfs
gnome_sort
gradient_boostring
graph
graph_bfs_abstract
graph_bfs_level
graph_bfs_path_count
graph_bfs_reachablity_from_any_of_multiple_nodes
bfs from multiple nodes in the same bfs. O(N + M)
graph_disconnected
graph_edge_trait
graph_impl
graph_old
graph_pointer_directed
graph_pointer_mixed
graph_pointer_undirected
graph_trait_pointer_mixed
graphops
greatest_common_divisor
greatest common divisor on integer gcd(a, b) a, b \in \Z. 0 := identity element and empty product here. gcd(0, 0) := 0 \prod_{\emptyset} := 0
greatest_common_divisor_euclid
greatest_common_divisor_euclidean
greatest_common_divisor_euclidean_recurse
greatest_common_divisor_euclidean_recurse_i64
greatest_common_divisor_euclidean_reduce
greatest_common_divisor_euclidean_signed
greatest_common_divisor_euclidean_u64
greatest_common_divisor_with_thomae_function
greatest_prime_factor_table_with_sieve_of_eratosthenes
greatest_prime_factor_with_least_prime_factor_usize
group_theory_id
hamming_distance
hash_tree
hcn
heapsort
heavly_light_decomposition
heavy light decomposition an algorithm on undirected tree.
heavy_light_decomposition_labeling_post_order_more_than_half
height
highly_composite_numbers
hilbert_r_tree
histogram_sort
hld
homogeneous_product
homomorphism
hopcroft_karp
ida_star
identifier
ikthrt
impl_add_assign_from_add
impl_static_modulus_get_for_const_modulus
implicit_k_d_tree
index
insertion
insertion_sort
insertion_sort_enumerate_all_states
int_cube_root
int_kth_root_binary_search
int_kth_root_fast
int_kth_root_linear
int_kth_root_newton_method
integer_kth_root
integer_square_root
integer sqrt
integer_square_root_digit_by_digit_recurse_u64
integer square root digit by digit recursive
integer_square_root_digit_by_digit_u64
integer_square_root_linear_u64
integer square root with linear naive algorithm
integer_square_root_with_binary_search_u64
integer square root with binary search
integer_square_root_with_binary_search_usize
integer square root with binary search
integer_square_root_with_linear_addition_u64
integer square root with addition
integer_square_root_with_linear_subtraction_u64
linear with subtraction reference https://en.wikipedia.org/wiki/Integer_square_root
integer_square_root_with_newton_method_u64
integer square root with newton’s method
interpolation_sort
intersection_length_of_2_intervals
intersection_of_2_intervals
inverse_discrete_fourier_transform_f64
inverse_factorial_table_from_i32
inverse_factorial_table_from_u64
inversion_number_with_array_compression_and_fenwick_tree
Inversion (Descrete Math)
io
io_buffered_read_wrapper
io_locked_stdin_reader
io_locked_stdout_buffered_writer
io_read_stdin
io_read_stdin_direct
io_read_token
io_read_vec_macro
io_write_all_macro
io_write_vec_macro
is_absorbing
is_adjacency_matrix
is_arborescence
is_bipartite_graph
is_eulerian_graph
is_identity
is_invertible
is_multiple_of_9
is_multitree
is_pairwise_coprime_with_prime_factorize
is_pairwise_coprime_with_sum_of_multiple_count
is_perfect_number
is_polytree
is_prime_naive
is_prime_table_from_enumerate_primes
is_prime_with_small_prime_numbers
is_quadratic_residue
is_quadratic_residue_z_pz_euler_criterion
is_regular_graph
is_setwise_coprime
is_subsequence
is_twin_prime
is_undirected_dense_graph
isomorphism
isqrt
iterate_over_multiples_for_1_n_harmonic_series_abstract
iterate_over_multiples_for_primes_in_1_n_harmonic_series_abstract
iterative_deepening_a_star_algorithm
jacobi_symbol
jacobi_symbol_recurse
join
k_d_tree
karatsuba_algorithm
karatsuba_mul_quotient_pow_2_power_of_2_128
kmp
knapsack
knapsack_01_dual_table_with_inf
knapsack_01_for_large_weights_with_dual
knapsack_01_table
knapsack_unbounded_table_bottom_up_max_value_oriented
knapsack_unbounded_table_item_oriented
knuth_morris_pratt
knuth_morris_pratt_failure_function_table_0_indexed
knuth_morris_pratt_failure_function_table_1_indexed
knuth_morris_pratt_find_all_substring_indices
knuth_yao_speedup
kth_node_query_on_tree
kth_node_query_on_tree_offline
find a node step by k edges from u for each query in offline
label_bipartite_graph_with_bfs
add a pattern of labels to nodes in the bipartite graph (true/false) if the given graph is not bipartite, return None
las_vegas_algorithm
lazy_binary_heap_with_count_hash
lazy_binary_heap_with_remove_queue
lcm
least common multiple
lcm_convolution
lcm_convolution_ring_with_std_divisors_fast_zeta_mobius
lct
least_common_multiple
least_common_multiple_with_gcd_i64
least_common_multiple_with_gcd_reduce_u64
least_common_multiple_with_gcd_u64
least_common_multiple_with_gcd_usize
least_prime_factor_table_with_sieve_of_eratosthenes_u32
least_significant_bit_from_lsb_number
least_significant_bit_number_direct_i64
least_significant_bit_number_from_lsb_usize
least_significant_bit_with_std_ctz_u64
leftist_tree
legendre_formula_recurse_u64
legendre_formula_recurse_usize
legendre_formula_u64
legendre_symbol
legendre_symbol_euler_criterion
level_ancestor_offline_with_dfs_recurse
level_ancestor_with_doubling
level ancestor on tree with doubing (or binary lifting)
level_ancestor_with_doubling_from_parent_depth
not only tree, but accept all the functional graph like structure with parent and depth for each node. for example, unicyclic tree (each node in the cycle is root) is ok.
levenstein_distance
levenstein_distance_low_memory
levenstein_distance_low_memory_inplace
library_sort
lightgbm
line_segment_2d_i64
linear_hull
linear_prime_sieve_option_u32
linear_programming
linear_span
linear_time_minimum_spanning_tree
link_cut_tree
log_2_floor_u64
log_structured_merge_tree
logarithm_f64_for_any_base_with_log_e
logarithm_u64_floor_for_any_base_recursive
longest_common_prefix_array
longest_common_prefix_array_kasai
longest_common_subsequence
Longest Common Subsequence not confused with Longest Common Substring
longest_common_substring
longest_common_substring_find_all_ends
longest_common_substring_length_low_memory
longest_common_substring_length_low_memory_with_z_algorithm
longest_common_substring_table
longest_increasing_subsequece_naive_i64
longest_increasing_subsequence
longest_non_decreasing_sequence
longest_palindromic_substring
lower_bound_on_slice
lowest_common_ancestor_offline_tarjan
lowest_common_ancestor_old
lowest common ancestor
lowest_common_ancestor_with_binary_lifting
lowlink
lsm_tree
lucas_number
lucas_numbers_table
lucas_sequence
m_ary_tree
maclaurin_series
make_sparse_histogram
manacher
matrix
matrix_addition_i64
matrix_as_2d_vec
matrix_frequent
matrix_multiplication
matrix_multiplication_i64
matrix_rotate_counterclockwise_90
matrix_rotate_counterclockwise_270
matrix_subtraction_i64
matrix_transpose
matrix_transpose_with_option
matrix_with_static_property
matrix_with_static_property_define_bitwise_xor_and_usize
matrix_with_static_semiring_and_property
matrix_with_static_square_property_impl_semiring_with_std
maximal_clique
maximal_clique_for_small_adjacency_bits
maximum_cardinality_matching
maximum_flow
median_priority_queue_with_avl_multiset
median_priority_queue_with_fenwick_tree_multiset_for_small_usize
median_priority_queue_with_two_binary_heap
functionality push arbitrary, pop median find median,
median_priority_queue_with_two_lazy_binary_heap
median_priority_queue_with_two_std_btree_multiset
merge_insertion_sort
merge_sort_bottom_up
merge_sort_inplace
merge_sort_recurse
merge_two_sorted_slice_as_vec
merge_two_sorted_vec_taking
mergeable_heap
mergesort
merkle_tree
metric_tree
min_max_linear_function_composition
deal with 3 kinds of composition queries. f(x) := f(x) + a f(x) := max(f(x), a) f(x) := min(f(x), a)
min_max_pq
min_max_priority_queue_lazy_with_two_binary_heap
min_max_priority_queue_with_btree_map
min_max_priority_queue_with_fenwick
minimum_cost_arborescence
minimum_cost_elastic_matching
minimum_pair_sum_for_const_product
minimum_spanning_tree
Minimum Spanning Tree reexporting
minimum_spanning_tree_boruvka
minimum_spanning_tree_kruskal
minimum_spanning_tree_prim_dense
minimum_spanning_tree_prim_sparse
minimum_spanning_tree_reverse_delete
mo_algorithm
mo_algorithm_3d
mobius_function
mobius_function_table_with_divisor_fast_mobius_isize
mobius_function_table_with_divisor_mobius_isize
mobius_function_with_trial_division
mobius_transform_for_divisors_additive_with_std
mobius_transform_for_divisors_with_instant_func
mobius_transform_for_multiples_additive_with_std
mobius_transform_for_multiples_with_instant_func
mobius_transform_for_subset
mobius_transform_for_subset_additive_with_std
mobius_transform_for_superset
mobius_transformation
modular
modular_combination_choose_with_factorial_tables_usize
modular_cumprod_i64
modular_cumprod_usize
modular_division_i64
modular_factorial_table
modular_factorial_table_i64
modular_factorial_table_usize
modular_frequent
modular_int_with_arithmetic
modular_int_with_const_modulus_i64
modular_int_with_static_modulus
modular_int_with_static_modulus_i64
modular_inverse_euclidean_i64_no_error
modular_inverse_euclidean_u64
modular_inverse_euler_theorem_i64
modular_inverse_euler_theorem_u64
modular_inverse_factorial_table
modular_inverse_factorial_table_i64
modular_inverse_factorial_table_usize
modular_inverse_fermat_little_theorem_i32
well-known modular inverse algorithms. inverse by Fermat’s Little Theorem. for prime modulus.
modular_inverse_of_2_for_odd_modulus
modular_inverse_power_of_2_table_for_odd_modulus_i64
modular_inverse_table_usize
modular_linear_equation_with_chinese_remainder_theorem_euclidean
modular_linear_equation_with_chinese_remainder_theorem_garner
modular_linear_equation_with_euler_theorem_i64
modular_linear_equation_with_extended_euclidean_gcd
modular_matrix_multiplication_karatsuba_i64
modular_mul_u128_with_add_doubling
modular_power_for_prime_usize_recurse
modular_power_of_k_table
modular_power_of_power_for_prime_modulus
modular_power_recurse_i64
modular_power_u32
modular_power_u64
modular_power_usize_recurse
modular_power_with_neg_exp_i32
modular_tetration
monge_dynamic_programming
monte_carlo_algorithm
montgomery_modular_multiplication
montgomery_modular_multiplication_64
montgomery_static_modular_int_with_id_u64
montmort_number
montmort_numbers_table_from_i32
montmort_numbers_table_modular_usize
morphism
morris_pratt_longest_border_table_0_indexed
morris_pratt_longest_border_table_1_indexed
most_significant_bit_number_with_binary_search
most_significant_bit_number_with_msb
most_significant_bit_with_bit_length_u64
multi_key_quicksort
multiplicative_inverse
extension of std::ops
multiset
n_choose_table_from_i32
n_group_category
n_group_finite_group
naive_mobius_transform_for_subset_additive_with_std
negative_cycle
network_graph_node
newton_method_with_derivative_function_f64
Newton’s Method f(x) must be differentiabl and f’(x) != 0 example f(x) = x^2 - 10. f’(x) = 2x x = 3.16227… TODO: use generic instead of f64 accepting int, big-rational, etc.
newton_raphson_division
next_combination_bits
next_power_of_2_table_const_usize
next_power_of_two_with_bit_length_u64
next_power_of_two_with_builtin_u64
next_prime_number
next_prime_number_table
next_subset_bits
normalize_sort_csgraph
ntt
number_of_common_subsequences_from_i32
number_of_common_subsequences_low_memory_from_i32
number_of_common_subsequences_low_memory_modular_i64
number_of_common_subsequences_modular_i64
number_of_common_substrings
number_of_complete_permutations
number_of_days_between_2_dates
number_of_dearangement
number_of_distinct_prime_factors_table_with_divisor_fast_zeta_usize
number_of_distinct_prime_factors_table_with_divisor_zeta_usize
number_of_distinct_subsequences
number_of_distinct_subsequences_modular_i64
number_of_distinct_subsequences_with_min_step_modular_i64
number_of_distinct_substrings_with_sais_lcp_kasai
number_of_divisors_from_prime_factorize_result
number_of_divisors_from_prime_factorize_result_modular
number_of_divisors_table_naive_usize
number_of_divisors_table_with_divisor_fast_zeta_transform_usize
number_of_divisors_table_with_divisor_zeta_transform_usize
number_of_edges_in_subgraph_naive_dp
number_of_edges_in_subgraph_with_subset_fast_zeta
number_of_edges_in_subgraph_with_subset_zeta
number_of_gcd_pairs_in_range_table_with_gcd_convolution
number_of_gcd_pairs_in_range_table_with_multiples_fast_mobius
number_of_lattice_points_in_polygon
number_of_lattice_points_on_segment
number_of_lcm_pairs_in_range_table_with_lcm_convolution
number_of_multiples_table_naive_usize
number_of_multiples_table_with_fast_multiple_zeta_usize
number_of_multiples_table_with_multiple_zeta_usize
number_of_nodes_reachable_into_cycle_bfs_rev_edges
number_of_nodes_reachable_into_cycle_dfs_recurse
number_of_pairs_in_range_l_r_whose_gcd_is_k_table
number_of_subsequences
number_of_swap_in_bubble_sort_with_target_as_inversion_number
number_of_swap_in_bubble_sort_with_target_naive
number_of_swap_in_selection_sort
number_of_swap_in_shell_sort
number_of_topological_sort
number_of_topological_sort_modular
number_of_undirected_cycle_graph_table
number_of_undirected_path_graph_table
number_theoritic_transform
number_trait
numeric_array_normalize_min_as_0
numeric_array_normalize_min_as_offset
odd_even_sort
ops
extension of std::ops.
order_static_tree
ordered_set
oscillating_merge_sort
p_group
pairing_heap
pancacke_sorting
parity_check_matrix
partial_order
pascal_rule_cached_from_usize
pascal_simplex
pascal_triangle_from_i32
pascal_triangle_from_u64_low_memory
pascal_triangle_with_instance_semiring
patricia_tree
pattern_defeating_quick_sort
pdqsort
perfect_numbers
permutation_argsort
permutation_functional_graph_kth_from_any
ph_tree
pi_with_arccosine
pick_theorem
pigeonhole_sort
pivot_tree_node
pivot_tree_node_usize_recurse
pivot_tree_node_usize_with_size
pivot_tree_node_usize_with_size_recurse
pivot_tree_node_with_size_recurse
pivot_tree_ordered_set
pivot_tree_ordered_set_simple
pivot_tree_ordered_set_usize_with_size_with_vec
pocket_modint_u32
pocket_tree_bfs_depth
pocket_tree_bfs_parent
pointer_grpah
polar_coordinates_2d_f64
polar_coordinates_area
polar_coordinates_distance
polar_coordinates_system
polar_coordinates_trait
pollard_kangaroo_algorithm
pollard_p_1
pollard_rho
reexporting pollard rho related algorithms.
polygon_area_2_times_2d
to avoid floating point error
polygon_area_2d
polyphase_merge_sort
pop
popcount_bit_by_bit
popcount_cached_usize
popcount_divide_and_conquer
popcount_divide_and_conquer_optimized
popcount_resetting_lsb_usize
popcount_table
popcount_table_const_8_bit_usize
popcount_table_with_subset_fast_zeta
popcount_with_const_8_bit_table_usize
popcount_with_k_bit_table_usize
popcount_with_std_u64
postman_sort
power
power_dynamic
power_group
power_group_itself
power_group_trait
power_monoid
power_monoid_itself
power_monoid_trait
power_multiplicative_group_with_std_ops_exp_from_i32
power_multiplicative_monoid_with_std_ops_exp_from_i32
power_multiplicative_semigroup_with_std_ops
power_multiplicative_semigroup_with_std_ops_exp_from_i32
power_multiplicative_semigroup_with_std_ops_recurse
power_semigroup
power_semigroup_itself
power_semigroup_recurse
power_semigroup_trait
pq_binary_heap_std_impl
pq_tree
pr_tree
prefix_function
prefix_tree
preorder
previous_prime_number
previous_prime_number_table
primality
number theory algorithms on primality
prime
prime_counting_fast
prime_counting_fast_half
this does not pass test.
prime_counting_fast_optimized
prime_counting_function
prime_counting_meissel_lehmer
prime_factorization_of_lcm_of_multiple_nums
prime_factorize_combination_with_sieve_of_eratosthenes
prime_factorize_combination_with_sieve_of_eratosthenes_legendre
prime_factorize_factorial_histogram_with_trial_division
prime_factorize_factorial_with_legendre_formula_u32
prime_factorize_factorial_with_legendre_formula_usize
prime_factorize_factorial_with_lpf_u32
prime_factorize_fermat
prime_factorize_lenstra_elliptic_curve
prime_factorize_pollard_rho
prime_factorize_pollard_rho_flat
prime_factorize_pollard_rho_flat_2
prime_factorize_quadratic_sieve
prime_factorize_trial_division
prime_factorize_trial_division_usize
prime_factorize_with_least_prime_factor_table_u32
prime_factorize_with_least_prime_factor_table_usize
prime_number
prime_omega_function
prime_pi_approx_ln
prime_pi_function
prime_pi_power_of_10
prime_pi_table_from_enumerate_primes
priority_queue
Priority Queue
priority_queue_trait
priority_r_tree
project_selection_problem
proportion_extend_sort
proth_number
proxmap_sort
prufer_group
pseudorandom_number_generator
quasigroup
query
query_on_tree_path
queue_with_2_stacks
quick_sort_inplace_recurse
quicksort
r_plus_tree
r_star_tree
rabin_karp
radix_heap
radix_sort
radix_tree
random_forest
random_sequence_generate
randomized_binary_search_tree
range_tree
rank_of_permutation_for_small_n
rbst
read_adjacency_list_graph
read_edges
read_matrix
read_weighted_adjacency_list_graph
read_weigted_edges
rectangle_tree
red_black_tree
reduce
reflexive_relation
rerooting
rerooting_dp
rerooting_dp_with_instance_abelian_group
rerooting_dp_with_instance_abelian_group_with_std_ops
rerooting_dp_with_instance_commutative_monoid
rerooting_dp_with_instance_commutative_monoid_as_struct_recurse
rerooting_dp_with_instance_commutative_monoid_old
rerooting_dp_with_instance_commutative_monoid_with_std_ops
rerooting_dp_with_node_priority_with_instance_monoid
reset_least_significant_bit_direct_u64
reset_least_significant_bit_smart
reset_least_significant_bit_smart_u64
reset_least_significant_bit_subtract_lsb_number
restore_tree_path_from_root_with_parent
rle
rng
rng_linear_congruential
rng_mersenne_twister
rng_static_xorshift64
rng_xorshift
rng_xorshift32
rng_xorshift64
rng_xorshift96
rng_xorshift64star
rng_xorshift128
rng_xorshift128plus
rng_xorshift1024star
rng_xorwow
rng_xoshiro256_core
rng_xoshiro256plus
rng_xoshiro256starstar
round_up_with_int_u64
run_length_encoding
safe_int_power
sat_2
sbbst
scapegoat_tree
scc
segment_tree_2d
segment_tree_2d_dense
segment_tree_additive_with_std
segment_tree_beats
segment_tree_dual
segment_tree_dual_additive_from_i32_with_std
segment_tree_dual_range_update_additive_from_i32_with_std
segment_tree_dual_range_update_with_instance
segment_tree_dual_range_update_with_static
segment_tree_dual_with_instance_monoid
segment_tree_dual_with_instance_monoid_recurse
segment_tree_dual_with_static_monoid
segment_tree_dynamic_node
segment_tree_i64_add
segment_tree_i64_min
segment_tree_lazy_01_sequence_range_xor_range_inversion_number
segment_tree_lazy_additive_homomorphism_with_std_ops
segment_tree_lazy_additive_homomorpshim_range_update_range_sum_modint
segment_tree_lazy_i64_range_add_range_sum
segment_tree_lazy_range_add_range_minimum
segment_tree_lazy_range_affine_range_sum
segment_tree_lazy_range_update_range_minimum
segment_tree_lazy_range_update_range_sum
segment_tree_lazy_with_instance_homomorphism
segment_tree_lazy_with_instance_homomorphism_recurse
segment_tree_lazy_with_static_ops
segment_tree_min
segment_tree_multiset
segment_tree_point_update_get_range_sum_and_range_prefix_sum_min_i64
segment_tree_range_minimum
segment_tree_with_instance_monoid
segment_tree_with_instance_monoid_recurse
segment_tree_with_static_monoid
selection_sort
self_balancing_binary_search_tree
set_theory
shaker_sort
shakutori_method
shear_sort
shell_sort
shell_sort_gap_sequences
shortest_path_01_bfs_sparse
shortest_path_a_star_2d_grid_path_or_wall_udlr_option_u32
shortest_path_a_star_sparse_tuple_edges_adjacency_list_i64_with_inf
shortest_path_arborescence
shortest_path_bfs_2d_grid_path_or_wall_simple_udlr_move
shortest_path_bfs_sparse_tuple_edges_adjacency_list_usize
shortest_path_desopo_pape_sparse
shortest_path_potential
shortest_path_predecessors
shortest_path_tree
shortest_path_viterbi
shuffle_sort
sieve_of_atkin
sieve_of_eratosthenes_enumerate_primes_in_range_query_optim_u64
example enumerate(10, 20) = [11, 13, 17, 19]
sieve_of_eratosthenes_enumerate_primes_in_range_query_usize
example enumerate(10, 20) = [11, 13, 17, 19]
sieve_of_eratosthenes_enumerate_primes_in_range_usize
example enumerate(10, 20) = [11, 13, 17, 19]
sieve_of_eratosthenes_enumerate_primes_u32
sieve_of_eratosthenes_enumerate_primes_usize
sieve_of_eratosthenes_euler_totient_function_table_direct_usize
sieve_of_eratosthenes_greatest_prime_factor_table_direct_usize
sieve_of_eratosthenes_is_prime_table
sieve_of_eratosthenes_is_prime_table_const_fast
sieve_of_eratosthenes_least_prime_factor_table_usize
sieve_of_eratosthenes_least_prime_factor_table_usize_optim
sieve_of_eratosthenes_least_prime_factor_table_usize_optim2
sieve_of_eratosthenes_legendre
sieve_of_eratosthenes_low_memory_prime_factorize_generator
sieve_of_eratosthenes_low_memory_prime_generator_optim_u64
sieve_of_eratosthenes_low_memory_prime_generator_usize
sieve_of_eratosthenes_mobius_function_table_direct_isize
sieve_of_eratosthenes_mobius_function_table_direct_isize_optim
sieve_of_eratosthenes_number_of_distinct_prime_factors_table_usize
sieve_of_eratosthenes_prime_factorize_factorial
sieve_of_eratosthenes_prime_factorize_factorial_flat
sieve_of_eratosthenes_prime_factorize_factorial_histogram
sieve_of_eratosthenes_prime_factorize_flat_in_range
sieve_of_eratosthenes_prime_factorize_flat_in_range_query
example factorize(2, 8) = [2, 3, 2, 2, 5, 2, 3, 7]
sieve_of_eratosthenes_prime_factorize_in_range
example factorize(2, 8) = [(2, 4), (3, 2), (5, 1), (7, 1)]
sieve_of_eratosthenes_prime_factorize_in_range_query
example factorize(2, 8) = [(2, 4), (3, 2), (5, 1), (7, 1)]
sieve_of_eratosthenes_prime_factorize_table_flat_in_range_query
example factorize(2, 8) = [[2], [3], [2, 2], [5], [2, 3], [7]]
sieve_of_eratosthenes_prime_factorize_table_flat_usize
sieve_of_eratosthenes_prime_factorize_table_in_range_query
example factorize(2, 8) = [[(2, 1)], [(3, 1)], [(2, 2)], [(5, 1)], [(2, 1), (3, 1)], [(7, 1)]]
sieve_of_eratosthenes_prime_factorize_table_usize
sieve_of_eratosthenes_range_sieve_enumerate
sieve_of_euler
sieve_of_linear
sieve_of_sundaram_u32
sieve of sundaram
simulated_annealing
single_source_shortest_path
singly_linked_list_node_with_box
singly_linked_list_node_with_rc_refcell
singly_linked_list_queue
singly_linked_list_stack
size
skew_heap
sliding_window_aggregation
sliding_window_aggregation_deque_with_instance_group
sliding_window_aggregation_queue_with_instance_group
sliding_window_aggregation_queue_with_instance_monoid
sliding_window_maximum_with_deque
sliding_window_minimum_with_deque
slope_trick
slowsort
smallest_enclosing_circle
smawk_algorithm
smoothsort
solver
sort
sortable_fifo_queue
sorting_network
sorting_number
spaghetti_sort
spanning_forest_with_uf
sparse_table_with_instance_idempotent_binary_operation
sparse_table_with_static_idempotent_binary_operation
sparse_table_with_static_idempotent_semigroup
sparse table
spfa
reexporting shortest path faster algorithm.
splay_tree_multiset
splay_tree_multiset_recurse
splay_tree_multiset_unsafe
splay_tree_multiset_unsafe_recurse
splay_tree_multiset_with_array_recurse
splay_tree_node
splay_tree_node_recurse
splay_tree_node_unsafe
splay_tree_node_unsafe_recurse
splay_tree_node_with_array_recurse
splay_tree_node_with_trait
split
spqr_tree
spreadsort
sqrt_decomposition
sqrt_decomposition_additive_with_std
sqrt_decomposition_dual_range_add_i64
sqrt_decomposition_dual_range_update_i32
sqrt_decomposition_dual_with_instance_monoid
sqrt_decomposition_i64_add
sqrt_decomposition_lazy_i64_range_add_range_sum
sqrt_decomposition_lazy_range_add_range_minimum
sqrt_decomposition_lazy_range_update_range_minimum
sqrt_decomposition_lazy_range_update_range_sum
sqrt_decomposition_lazy_with_instance_homomorphism
sqrt_decomposition_multiset
sqrt_decomposition_range_minimum_i32
sqrt_decomposition_range_sum_i64
sqrt_decomposition_with_instance_monoid
sqrt_tree
srt_division
sssp_dijkstra_sparse_with_general
sssp_faster_algorithm
stable_sort
stack_with_vec
static_const_modulus_frequent
static_matrix_property_frequent
static_matrix_property_i64_2_2
static_matrix_property_trait
static_modular_arithmetic_trait
reference https://en.wikipedia.org/wiki/Modular_arithmetic#Properties
static_modular_int_i64
static_modular_int_with_id_i64
static_modulus_trait
static_square_matrix
static_square_matrix_property_trait
static_square_matrix_with_id
static_tensor_shape
static tensor shape for static tensor.
steiner_tree
stooge_sort
strconv
module name is following Go’s package.
strict_bellman_ford_abstract
string_ith_ascii_letter
string_ith_char
strongly_connected_components
strongly connected components
strongly_connected_components_kosaraju
strongly_connected_components_kosaraju_as_struct_recurse
strongly_connected_components_kosaraju_recurse
strongly_connected_components_path_based
strongly_connected_components_path_based_another
strongly_connected_components_path_based_as_struct_recurse
strongly_connected_components_path_based_recurse
strongly_connected_components_reachability_based
strongly_connected_components_tarjan_lowlink
strongly_connected_components_tarjan_lowlink_as_struct_recurse
strongly_connected_components_tarjan_lowlink_recurse
strongly_connected_components_topological_sort
strongly_connected_components_transpose
submodular_flow
submodular_function
submodular_set_function
subset_sum
subset_sum_at_most_k
subset_sum_limited_count_multiple_same_values
subset_sum_max_less_than_meet_in_the_middle_usize
subset_sum_min_count
special case of dual unbounded knapsack table just. that all weights are 1.
subset_sum_problem
suffix_array
suffix_array_doubling_argsort
suffix_array_doubling_argsort_const_optim
suffix_array_doubling_counting_argsort
suffix_array_induced_sort
suffix_array_induced_sort_recurse
suffix_automaton
suffix_tree
sum_arithmetic_progression
sum_of_all_pairs_xor_in_array_modular
sum_of_all_pairs_xor_in_array_modular_usize
sum_of_divisors_count
sum_of_divisors_count_times_i
sum_of_divisors_sum
sum_of_divisors_table_naive
sum_of_divisors_table_with_divisor_fast_zeta
sum_of_divisors_table_with_divisor_zeta
sum_of_gcd_for_each_element_is_1_to_k_euler_phi_from_usize
sum_of_gcd_for_each_element_is_1_to_k_fast_mobius_transform_from_usize
sum_of_gcd_for_each_element_is_1_to_k_fast_mobius_transform_usize
sum_of_gcd_for_each_element_is_1_to_k_mobius_transform_from_usize
sum_of_gcd_for_each_element_is_1_to_k_mobius_transform_usize
sum_of_gcd_with_k_for_1_to_n_with_divisors_euler_phi
sum_of_gcd_with_k_for_1_to_n_with_divisors_factorize_fast_mobius
sum_of_i_times_n_choose_i
sum_of_lcp_of_all_suffix_pairs_with_sais_lcp_kasai
sum_of_lcp_with_all_suffixes_with_z_algorithm
sum_of_multiples
sum_of_multiples_count_range
sum_of_multiples_count_times_i_range
sum_of_multiples_sum_range
sum_of_multiples_sum_with_smart_formula
sum_of_multiples_table_naive
sum_of_multiples_table_with_multiples_fast_zeta
sum_of_multiples_table_with_multiples_zeta
sum_of_n_choose_i
sum_of_product_of_all_pairs
sum_of_xor_prod_of_all_subsets_in_array_modular
swag
t_tree
tango_tree
taylor_series
tensor
tensor_property
tensor_trait
ternary_heap
ternary_search
ternary_search_tree
top_tree
topological_sort
topology
torus
total_order
tournament_sort
transitive_relation
transpose_sparse_graph_with_unweighted_edges
transpose_sparse_graph_with_weighted_edges
traveling_salesperson
traveling_salesperson_give_and_take_mem_access_optim_with_inf
traveling_salesperson_giving_with_inf
traveling_salesperson_taking_with_inf
treap
tree_bfs_abstract
tree_bfs_depth_with_abstract
tree_bfs_parent
tree_bfs_parent_depth
tree_bfs_parent_with_abstract
tree_dfs_abstract
tree_dfs_euler_tour_heavy_light_decomposition_as_struct
tree_dfs_parent_depth_size
tree_dfs_size_recurse
tree_dfs_size_with_abstract
tree_diameter_and_path_weigted_edge_find_farthest_2_times_with_dfs
tree_diameter_dp_for_each_subtree_with_dfs
tree_diameter_finding_farthest_2_times_with_bfs
tree_diameter_path_unweighted
tree_diameter_terminal_nodes
tree_edges_to_graph
tree_get_path_query_with_lifting
tree_get_path_with_bfs
tree_node
tree_path_aggregation
tree_path_aggregation_with_binary_lifting
tree_path_aggregation_with_hld
tree_restore_path_from_parents
tree_sort
triangle_2d_area_with_vector_cross_product
triangle_2d_with_vector_i64
tribonacci_number
tribonacci_sequence_modular
trigonometry_tau_with_pi
two_sat
two_satisfiability
two_three_four_tree
two_three_heap
two_three_tree
ub_tree
undirected_bridge_detection_chain_decomposition
undirected_bridge_detection_lowlink
undirected_edges_to_bidirected
undirected_lowlink
undirected_tuple_edges_to_adjacency_list
undirected_tuple_edges_with_data_to_adjacency_list
union_find_low_memory
union_find_low_memory_minimal
union_find_low_memory_with_trait
Disjoint-Set-Union (DSU) or Union-Find (UF).
union_find_persistent
union_find_potentialized_i64_add
union_find_potentialized_with_instance_abelian_group
union_find_potentialized_with_static_abelian_group_and_trait
union_find_rollback
union_find_traits
union_find_weighted
upper_bound_on_slice
usize_u64_impl_graph_edge_trait
van_emde_boas_tree
vector_2d_i64_impl_angle_sort
vector_dedup
vector_rotate_counterclockwise_90_2d_i64
vector_rotate_counterclockwise_180_2d_i64
vector_rotate_counterclockwise_270_2d_i64
vector_rotation_2d_by_radian_with_matrix
don’t confused with matrix rotation. this is the matrix for rotation of vectors.
vector_rotation_3d_by_radian_with_matrix
vector_rotation_matrix_2d
vector_space
vector space algebra
vector_unique
verbal_arithmetic
vertex_cut
vertex_seperator
virtual_tree
viterbi_algorithm
volume_of_torus
vp_tree
wavelet_matrix
wavl_tree
weak_avl_tree
weighted_union_algorithm
x_tree
xor_distance_on_tree_query
xor_distance_on_tree_with_dfs_usize
xor_of_all_pairs_bitwise_and_of_two_arrays
xor_prefix_set_hash
xor_vector_space_basis_original_with_gaussian_elimination
xor_vector_space_basis_original_with_linear_span_bfs
xor_vector_space_basis_with_cumulative_min
xor_vector_space_basis_with_gaussian_elimination
xor_vector_space_gaussian_elimination
xor_vectors_rank_online_with_gaussian_elimination
z_algorithm
z_algorithm_find_all_substring_indices
zeller_day_of_week_congruence_formula
zero_element
zero_one_bfs
zeta_transform_for_divisors_additive_with_std
zeta_transform_for_divisors_with_instant_func
zeta_transform_for_multiples_additive_with_std
zeta_transform_for_multiples_with_instant_func
zeta_transform_for_subset
zeta_transform_for_subset_additive_with_std
zeta_transform_for_superset

Macros§

dbg
reference https://users.rust-lang.org/t/show-value-only-in-debug-mode/43686/3
impl_add_assign_from_add
read_vec
write_all
write_vec