会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Apale
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
下一页
2018年9月5日
Treap(旋转) bzoj3224普通平衡树
摘要: Treap = Tree + heap,Tree是BST,即同时维护二叉查找树和堆的性质 Treap的定义:int ch[maxn][2], val[maxn], siz[maxn], num[maxn], pri[maxn];//此处优先级用了小根堆int...
阅读全文
posted @ 2018-09-05 23:29 Apale
阅读(166)
评论(0)
推荐(0)
2018年8月27日
线段树 标记永久化
摘要: 一般线段树做区间修改操作时,先是找到目标区间,然后修改该区间,并打下延迟标记,最后从目标区间自底向上,更新所有包含目标区间的区间的值(即pushup)。当该区间子节点被访问前,pushdown下推标记。 这种维护区间的方式存在一点点弊端。例如用这种方式写一棵...
阅读全文
posted @ 2018-08-27 20:24 Apale
阅读(277)
评论(0)
推荐(0)
poj 3468 (splay)
摘要: 最近在学splay,就用这道题来记一下模板。splay是二叉搜索树,满足中序遍历有序的性质;同时,splay操作可以在不改变中序序列的前提下改变树的结构。因此,splay可以十分方便地维护区间信息。#includeusing namespace std;co...
阅读全文
posted @ 2018-08-27 14:18 Apale
阅读(147)
评论(0)
推荐(0)
2018年8月9日
HDU6356 Glad You Came(线段树区间更新+剪枝)
摘要: 题意: 有一个长度为n的数组a,初值均为0,有m组修改,由题目给的一个随机函数生成l, r, v,把a在区间 [ l , r ] 中小于v的值修改为v,最终输出 ⨁i=1n" role="presentation" style="positio...
阅读全文
posted @ 2018-08-09 00:50 Apale
阅读(91)
评论(0)
推荐(0)
2018年7月26日
HDU6315 Naive Operations (2018多校第二场) 线段树
摘要: 题目链接: hdu6315 题目大意: 输入一个n,下一行输入一个长度为n的数组b,b是1到n的一种全排列,还有一个长度为n初值全为0的数组a 两种操作: 1) 输入add l r ,将al" role="presentati...
阅读全文
posted @ 2018-07-26 11:21 Apale
阅读(94)
评论(0)
推荐(0)
2018年7月24日
树剖模板(点权)(洛谷P3384)
摘要: #includeusing namespace std;const int maxn = 100000+10;int N,M,R,P,w[maxn];struct{ int to,next; }e[maxnsiz[son[u]]) ...
阅读全文
posted @ 2018-07-24 23:52 Apale
阅读(116)
评论(0)
推荐(0)
2018年7月18日
HDU2852 KiKi's K-Number (权值线段树求第k大)
摘要: 题意:三种操作,0 e 表示插入一个数字e,1 e 表示删除一个数字e,2 e k 表示查询比e大的第k个数,删除和查询均可能没有目标。思路:建一棵权值线段树,维护每个数字区间中数字的数量。 查询时,先查出1到e的数字数量n,然后查询第k+n大。#inclu...
阅读全文
posted @ 2018-07-18 20:44 Apale
阅读(304)
评论(0)
推荐(1)
SPOJ3267 D-query(可持久化线段树)
摘要: 题意: 输入N个数字,查询区间[L,R]中有多少个不同的数字(第i个数字为a[i])思路:要维护的是不同的数字的数量,所以每个数只记最后出现的那一次。对N个位置每个位置建一棵线段树,线段树维护的是插入a[i]后树上各区间数字的数量。如果a[i]这个数字在前面...
阅读全文
posted @ 2018-07-18 20:37 Apale
阅读(147)
评论(0)
推荐(0)
2018年7月14日
倍增法求LCA(最近公共祖先)
摘要: 实在太蠢了搞不定ST表o(╥﹏╥)o,只能学个倍增法了。讲倍增法前先看看暴力法。 第一步肯定是dfs求每个点的深度。 查询lca(a,b)时,先把ab中深度较大的点往上移,移到两个点深度相同为止; 现在两个点深度相同了,于是两个点一起往上移,直至移到同一个位...
阅读全文
posted @ 2018-07-14 00:51 Apale
阅读(177)
评论(0)
推荐(0)
2018年7月9日
HDU3974 Assign the task(dfs序+线段树)
摘要: 老板与员工之间是树形关系。每次给一个员工下达任务就是修改这个员工为根的子树。 用dfs序把每一棵子树转化成一个区间,用线段树维护,T就是区间更新维护lazy,C就是单点查询。#include using namespace std;const int max...
阅读全文
posted @ 2018-07-09 19:53 Apale
阅读(136)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
下一页
公告