自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 静态主席树

首先来考虑一个问题 给你N个数字 然后是M次询问 每次查询 l-r第k大的数是多少? n、m的范围都是 10^5最暴力的方法也就是把这些数拿出来,然后Sort输出结果 这样的复杂度是O(m×n logn) 现在想一下如何用线段树来解决 l-r 中k值的问题 建一棵线段树 每个节点 代表l-r 区间 数字的个数 要求第k小,也就是与个数相关,那么我们可以 以[l,r]区间内的数的个数来

2017-12-27 16:50:53 217

原创 替罪羊树

花了一个下午,总算是把替罪羊树学会了。 在一众平衡树里面,替罪羊树可谓是独树一帜233. 因为其他平衡树里面,基本思想都是通过旋转,更改节点关系来做到平衡树. 但我们的替罪羊树可不是纸样滴. 核心思想是,重建!!! 对,泥萌木有听错,是重建233. 如果一颗子树深度失衡,我们就可以用中序遍历的方法来得到一个有序序列。 然后,从中间把这个区间给提起来,从而做到深度最优。 感觉这个思想,

2017-12-24 17:31:59 489

转载 [转载]省选学习算法(补坑记录)

Cpoy from hzwer @http://hzwer.com/1234.html 1.1 基本数据结构 数组 链表,双向链表 队列,单调队列,双端队列 栈,单调栈 1.2 中级数据结构 堆 并查集与带权并查集 hash 表自然溢出双hash 1.3 高级数据结构 树状数组 线段树,线段树合并 平衡树Treap 随机平衡二叉树Splay 伸展树Scapegoat Tree 替罪羊树 块状数组,

2017-12-24 14:08:43 419

原创 Splay伸展树

首先要了解啥是Splay! 度娘的介绍 Splay是对二叉搜索树的优化(神TM优化),防止极限的数据退化成N的复杂度! 比方说我输入的数据降序的,那么二叉搜索树就屁用没有了! 所以说要尽量把这棵树变成一颗满二叉树,深度尽量低。 做到这些效果的方法即为左旋和右旋,就是儿子变成了老子。 而Splay的核心思想即为我是你老子,我是你老子,直到我成为祖宗。 在这个过程中这棵树会变得很平衡!

2017-12-20 17:13:56 236

原创 Noip 2017 最简单的三道题

A了这三道题,就可以稳拿一D了(山东) Day1 T1 虽说是个数论题,打表出结论!#include <cstdio> #include <iostream> #define ll long long using namespace std; int main() { freopen("math.in","r",stdin); freopen("math.out","w",st

2017-12-13 14:37:01 579

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除