competitive/tree/
mod.rs

1//! tree algorithems
2
3use crate::{
4    algebra::Monoid,
5    graph::UndirectedSparseGraph,
6    tools::{RandomSpec, Xorshift},
7};
8
9pub use self::euler_tour::*;
10#[codesnip::entry("tree_generator")]
11pub use self::generator::*;
12#[codesnip::entry("HeavyLightDecomposition")]
13pub use self::heavy_light_decomposition::HeavyLightDecomposition;
14pub use self::rerooting::ReRooting;
15pub use self::tree_center::*;
16pub use self::tree_hash::TreeHasher;
17
18mod depth;
19mod euler_tour;
20#[cfg_attr(
21    nightly,
22    codesnip::entry("tree_generator", include("SparseGraph", "random_generator"))
23)]
24mod generator;
25#[cfg_attr(
26    nightly,
27    codesnip::entry("HeavyLightDecomposition", include("algebra", "SparseGraph"))
28)]
29mod heavy_light_decomposition;
30mod rerooting;
31mod tree_center;
32#[cfg_attr(nightly, codesnip::entry("tree_centroid", include("SparseGraph")))]
33mod tree_centroid;
34mod tree_dp;
35mod tree_hash;
36mod tree_order;