PAT (Advanced Level) Practice 1167 Cartesian Tree (30 分)
1167 Cartesian Tree (30 分)
题意:给一组数,求生成的笛卡尔树的层级遍历
笛卡尔树(Cartesian tree):
每次选取当前区间[l,r]中val的最小值所在的pos作为子树的根节点
然后对于[l,i−1],[i+1,r]递归地不断重复上述过程
写的递归,访问到每一个点的时候递归了几层记录下来,(也算一个标志区分不同的区间),根据这个层数输出结果(数据量小无所畏惧直接n^2)
#include<bits/stdc++.h>
using namespace std;
原创
2022-02-23 20:13:27 ·
153 阅读 ·
0 评论