笛卡尔树
BST+heap=Treap
SSL_wj
这个作者很懒,什么都没留下…
展开
-
P1377【树的序】
树的序 题目 P1377 解析 显然是笛卡尔树的两个权值调换,输入时改一下就可以了 code: #include<cstdio> #include<queue> #define getchar()(p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++) using namespace std; char buf[1<<21],*p1=buf,*p2=buf; inlin原创 2021-05-04 12:01:16 · 77 阅读 · 0 评论 -
P5854【笛卡尔树】
笛卡尔树 题目 P5854 解析 笛卡尔树是一种二叉树,定义与Treap相同,即两个权值k符合二叉查找树,w符合小根堆 建树过程可以使用单调栈优化至O(N)级别 code: #include<cstdio> #include<queue> #define int long long #define getchar()(p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++) usin原创 2021-05-04 11:58:45 · 70 阅读 · 0 评论