Loading docs/ds/cartesian-tree.md +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ for (int i = 1; i <= n; i++) { int k = top; while (k > 0 && h[stk[k]] > h[i]) k--; if (k) rs[stk[k]] = i; // rs代表笛卡尔树每个节点的右儿子 if (k < cnt) ls[i] = stk[k + 1]; // ls代表笛卡尔树每个节点的左儿子 if (k < top) ls[i] = stk[k + 1]; // ls代表笛卡尔树每个节点的左儿子 stk[++k] = i; top = k; } Loading Loading
docs/ds/cartesian-tree.md +1 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ for (int i = 1; i <= n; i++) { int k = top; while (k > 0 && h[stk[k]] > h[i]) k--; if (k) rs[stk[k]] = i; // rs代表笛卡尔树每个节点的右儿子 if (k < cnt) ls[i] = stk[k + 1]; // ls代表笛卡尔树每个节点的左儿子 if (k < top) ls[i] = stk[k + 1]; // ls代表笛卡尔树每个节点的左儿子 stk[++k] = i; top = k; } Loading