数据结构-splayTree
tzb592825420
这个作者很懒,什么都没留下…
展开
-
hdu1890 Robotic Sort Splay树,区间反转,lazy标记
对spaly的一些理解:在Splay和Rotate两个操作对树中元素的大小关系是没有影响的,但会影响一些记录如sum值。这题就以id为key建树,区间反转用rev标记,标记下传时仅交换指向左右儿子的指针,反转后树中元素的大小关系发生了改变。删除根节点时将右子树中序遍历的第一个点(最小的点)伸展到根节点下,这样右子树的左子树为空。找第一个点时需要pushDown。#include#in原创 2015-08-24 17:21:11 · 460 阅读 · 0 评论 -
营业额统计 splayTree
点击打开链接#include#include#include#include#define inf 1000000000using namespace std;const int maxn=100005;struct SplayTree{ int son[maxn][2],pre[maxn],val[maxn]; int rt,sz; void newN原创 2015-08-03 00:12:33 · 329 阅读 · 0 评论 -
codevs 1286 郁闷的出纳员 splayTree模板
#include#include#include#define inf 1000000000using namespace std;const int maxn=200005;struct SplayTree{ int son[maxn][2],pre[maxn],val[maxn]; int sum[maxn]; int rt,sz; void pu原创 2015-08-03 15:26:36 · 386 阅读 · 0 评论 -
codevs1285 宠物收养所 splayTree
删除节点时把它移到根节点,把它的后继移到根的右子节点,然后删除根。#include#include#include#include#include#define inf 1000000000using namespace std;const int maxn=200005;struct SplayTree{ int son[maxn][2],pre[maxn],val原创 2015-08-03 16:42:52 · 352 阅读 · 0 评论 -
poj3481 splayTree模板
#include#include#include#include#include#include#include#include#include#include#include#include#include#define fi first#define se second#define pii pair#define inf (1<<30)#define eps原创 2015-08-20 22:26:50 · 453 阅读 · 0 评论