摘要: 红黑树是一种自平衡二叉查找树,具有在最坏情况下查找、插入、删除O(log2n)的复杂度。红黑树中从根节点到任意一叶子节点的最长路径不超过最短路径的两倍,因此是一种近似平衡的二叉树。节点信息红黑树的节点具有如下信息:struct RBNode{ int data; //数据 int color; ... 阅读全文
posted @ 2015-08-11 17:18 农民伯伯-Coding 阅读(317) 评论(0) 推荐(0) 编辑
摘要: vncserver是使用非常方便和广泛的远程桌面服务,配置也相对简单。 下面记录了在centos系统上进行配置vncserver的过程。 安装 查看centos下是否已经安装了vncserver rpm -qa |grep vnc 如果未安装vncserver,则进行安装 yum install v 阅读全文
posted @ 2015-08-11 12:47 农民伯伯-Coding 阅读(2498) 评论(0) 推荐(0) 编辑
摘要: AVL是一种平衡二叉树,它通过对二叉搜索树中的节点进行旋转使得二叉搜索树达到平衡。AVL在所有的平衡二叉搜索树中具有最高的平衡性。定义平衡二叉树或者为空树或者为满足如下性质的二叉搜索树:左右子树的高度之差绝对值不超过1左右子树仍然为平衡二叉树定义平衡因子 BF(x) = x的左子树高度 - x的右子... 阅读全文
posted @ 2015-08-10 16:56 农民伯伯-Coding 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Treap是一种动态平衡二叉树结构,具有期望的O(log2n)的复杂度。适用于动态区间数据的查询、更改、维护等操作。题目大意一组数从前向后插入队列中,插入的过程中会有查询,查询当前队列中的第k小的数。题目分析对于数据的查询,可以考虑使用treap这种平衡二叉树来实现。而且treap这种动态平衡树结构... 阅读全文
posted @ 2015-08-10 12:12 农民伯伯-Coding 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 题目大意对于二维平面上的n个点,给出点的坐标。定义一个点A覆盖的点的个数为满足以下条件的点B的个数:点B的x #include#define MIN(a, b) a b? a :b#define MAX_NUM 32005#define MAX_NODE 15005struct Point{ int... 阅读全文
posted @ 2015-08-10 10:57 农民伯伯-Coding 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 题目大意对于二维平面上的n个点,给出点的坐标。定义一个点A覆盖的点的个数为满足以下条件的点B的个数:点B的x #includeusing namespace std;#define MAX_NODE_NUM 15500struct TreapNode{ int key; int priority; ... 阅读全文
posted @ 2015-08-09 17:23 农民伯伯-Coding 阅读(344) 评论(0) 推荐(0) 编辑
摘要:  Treap是一种弱平衡二叉查找树,通过给每个节点赋优先值以及必要时进行节点的旋转来避免一般的二叉查找树退化成一条链,从而具有良好的时间性能。     Treap实现将二叉查找树的高度值期望达到O(logn),这条性质由定理 将一组数据以随机的顺序插入一棵二叉查找树中,树的高度期望为 O(logn) 阅读全文
posted @ 2015-08-09 16:31 农民伯伯-Coding 阅读(1890) 评论(0) 推荐(1) 编辑
摘要: 题目大意一个数列,每次操作可以是将某区间数字都加上一个相同的整数,也可以是询问一个区间中所有数字的和。(这里区间指的是数列中连续的若干个数)对每次询问给出结果。思路1. 伸展树的一般规律对于区间的查找更新操作,可以考虑使用伸展树、线段树等数据结构。这里使用伸展树来解决。伸展树对数组进行维护的核心思想... 阅读全文
posted @ 2015-08-08 22:52 农民伯伯-Coding 阅读(348) 评论(1) 推荐(1) 编辑
摘要: 自己伸展树做的第一个题poj 3580 supermemo.题目大意对一个数组进行维护,包含如下几个操作:ADD x, y, d 在 A[x]--A[y] 中的每个数都增加dREVERSE x, y 将 A[x]--A[y] 中的数进行反转,变为 A[y],A[y-1]....A[x+1],A[x]... 阅读全文
posted @ 2015-08-08 20:52 农民伯伯-Coding 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 题目大意一个数列,每次操作可以是将某区间数字都加上一个相同的整数,也可以是询问一个区间中所有数字的和。(这里区间指的是数列中连续的若干个数)对每次询问给出结果。思路对于区间的查找更新操作,可以考虑使用伸展树、线段树等数据结构。这里使用线段树来解决。需要注意的是,对于一个区间的增加操作,如果每次都走到... 阅读全文
posted @ 2015-08-06 13:41 农民伯伯-Coding 阅读(198) 评论(0) 推荐(0) 编辑