![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笛卡尔树
lahlah_
沉浸 尊重
展开
-
luogu P3793 由乃救爷爷
区间RMQ 所以为什么笛卡尔树可以*过去? 随便写一发就过了 可能是笛卡尔树期望常数比较小吧 code: #include<bits/stdc++.h> #define N 20000005 using namespace std; namespace GenHelper { unsigned z1,z2,z3,z4,b; unsigned rand_() { b=((z1<<6)^z1)>>13; z1=((z1&4294原创 2021-04-06 21:53:18 · 184 阅读 · 0 评论 -
笛卡尔树
定义和建树这里都讲得很清楚:https://oi-wiki.org/ds/cartesian-tree/ OIWIKI大法吼哇 说白了就是拿一个栈维护以根向右的链 然后维护一下大小就好了 参考code: for(int i = 1; i <= n; i ++) { while(top) { if(a[sta[top]] < a[i]) { ch[sta[top]]...原创 2019-10-27 15:05:18 · 218 阅读 · 0 评论