View on GitHub

cp-library

Cartesian tree

C++ 用ライブラリ一覧に戻る

ソースコード

nachia/array/cartesian-tree.hpp

主な機能

長さ $n$ の要素列を最小値があるところ(タイブレークは先頭に近いほうを選ぶ)から 2 つに分割すると、分割過程を表す、ノード数 $n$ の二分木を考えられるので、その木の辺のリストを計算する。

この木は Cartesian tree と呼ばれる。

関数

CartesianTree

template<class T>
nachia::Graph CartesianTree(const std::vector<T>& A);

Cartesian tree の辺のリストを返す。ただし、


TOP PAGE