Loading docs/ds/cartesian-tree.md +9 −7 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ For i:=1 to n 当前元素入栈 top=k ``` ```cpp for (int i = 1; i <= n; i++) { int k = cnt; Loading @@ -47,6 +48,7 @@ for(int i=1;i<=n;i++) { cnt = k; } ``` ## 笛卡尔树与 Treap 谈到笛卡尔树,很容易让人想到一种家喻户晓的结构——Treap。没错,Treap 是笛卡尔树的一种,只不过 w 的值完全随机。Treap 也有线性的构建算法,如果提前将元素排好序,显然可以使用上述单调栈算法完成构建过程,只不过很少会这么用。 Loading Loading
docs/ds/cartesian-tree.md +9 −7 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ For i:=1 to n 当前元素入栈 top=k ``` ```cpp for (int i = 1; i <= n; i++) { int k = cnt; Loading @@ -47,6 +48,7 @@ for(int i=1;i<=n;i++) { cnt = k; } ``` ## 笛卡尔树与 Treap 谈到笛卡尔树,很容易让人想到一种家喻户晓的结构——Treap。没错,Treap 是笛卡尔树的一种,只不过 w 的值完全随机。Treap 也有线性的构建算法,如果提前将元素排好序,显然可以使用上述单调栈算法完成构建过程,只不过很少会这么用。 Loading