Function nekolib::algo::hilbert_mo

source ·
pub fn hilbert_mo<S>(
    slice: S,
    q: Vec<(Range<usize>, S::Salt)>
) -> impl Iterator<Item = S::Hashed>where
    S: ElasticSlice + ExpandFront + ExpandBack + ShrinkFront + ShrinkBack + SliceHash,
    S::Hashed: Clone,
Expand description

Hilbert curve に基づく Mo’s algorithm。

See https://codeforces.com/blog/entry/61203Range Set Query に投げたら TLE したのでつらい。