- 博客(3)
- 收藏
- 关注
原创 BZOJ1271: [BeiJingWc2008]秦腾与教学评估
题目我们发现只有一个奇数的点,所以这题可以运用前缀和,因为如果前缀和是奇数,那么因为偶数+偶数=偶数 奇数+偶数=奇数 小学知识,那么奇数一定在左面,否则在右面,这样就可以用二分了但题目中说需要求出奇数点有多少个人,可以利用前缀和的基本性质:s[i]-s[i-1]=a[i],就可以了看下代码:#include<cstdio>#include<cstring>#i...
2018-12-02 10:31:58
259
原创 fhqTreap小结
神奇数据结构------fhqTreapfhqTreap是不需要旋转的平衡树,比splay常数小,代码短,还支持区间操作,而且可持久化!!!首先,结点的值val满足是一棵排序二叉树,节点的一个随机值key满足是一个堆(孩子的key比父亲大),因为是随机的,所以整棵树的高度接近于lg n,拆分合并也都是接近O(n lg n)fhqTreap主要就是两个操作 其他都是无脑拆分合并:1.spl...
2018-12-02 10:10:48
846
原创 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
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人