- 博客(3)
- 收藏
- 关注
原创 BZOJ1271: [BeiJingWc2008]秦腾与教学评估
题目 我们发现只有一个奇数的点,所以这题可以运用前缀和,因为如果前缀和是奇数,那么因为偶数+偶数=偶数 奇数+偶数=奇数 小学知识,那么奇数一定在左面,否则在右面,这样就可以用二分了 但题目中说需要求出奇数点有多少个人,可以利用前缀和的基本性质:s[i]-s[i-1]=a[i],就可以了 看下代码: #include<cstdio> #include<cstring> #i...
2018-12-02 10:31:58
288
原创 fhqTreap小结
神奇数据结构------fhqTreap fhqTreap是不需要旋转的平衡树,比splay常数小,代码短,还支持区间操作,而且 可持久化!!! 首先,结点的值val满足是一棵排序二叉树,节点的一个随机值key满足是一个堆(孩子的key比父亲大),因为是随机的,所以整棵树的高度接近于lg n,拆分合并也都是接近O(n lg n) fhqTreap主要就是两个操作 其他都是无脑拆分合并: 1.spl...
2018-12-02 10:10:48
892
原创 Splay小结
Splay跟fhqTreap一样也是一颗排序二叉树 Splay能够支持区间操作,也使它成为了LCT的辅助树 数据结构 struct pj{ int n, c, f, d, son[2]; //n是该值有多少个,c是子树大小,f是父亲,d是键值,son[0]是左孩子,son[1]是右孩子 } tr[maxn]; 插入一个以f为父亲,键值为d的节点 void add_n(int d, i...
2018-12-02 10:03:56
178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅