P3384 【模板】树链剖分 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和 操作3 ...
分类:
编程语言 时间:
2017-11-10 00:23:05
阅读次数:
165
洛谷3384 1 #include<cstdio> 2 #include<algorithm> 3 #define ls (cur<<1) 4 #define rs (cur<<1|1) 5 #define len(x) (a[x].r-a[x].l+1) 6 #define mid ((a[cur ...
分类:
其他好文 时间:
2017-11-07 17:59:52
阅读次数:
177
洛谷3379 1 #include<cstdio> 2 #include<algorithm> 3 using namespace std; 4 const int maxn=500010,inf=1e9; 5 int n,m,x,y,root,tot,dep[maxn],son[maxn],siz ...
分类:
其他好文 时间:
2017-11-06 21:28:16
阅读次数:
137
http://172.20.6.3/Problem_Show.asp?id=1539 在学校的OJ又写了一次,RE了好多次,原来haoi的时候这道题需要开栈+快读,裸数据结构30分,加上快读50分。oi考试的时候原来不能汇编开栈,只能写手工栈orz,学长说当时省选最高分50,本来以为很简单的题没想到 ...
分类:
其他好文 时间:
2017-11-05 20:11:09
阅读次数:
172
【BZOJ3626】[LNOI2014]LCA Description 给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。有q次询问,每次询问给出l r z,求sigma_{l< ...
分类:
其他好文 时间:
2017-11-05 17:20:14
阅读次数:
133
【BZOJ3681】Arietta Description Arietta 的命运与她的妹妹不同,在她的妹妹已经走进学院的时候,她仍然留在山村中。但是她从未停止过和恋人 Velding 的书信往来。一天,她准备去探访他。对着窗外的阳光,临行前她再次弹起了琴。她的琴的发声十分特殊。让我们给一个形式化的 ...
分类:
其他好文 时间:
2017-11-05 13:56:12
阅读次数:
194
http://www.lydsy.com/JudgeOnline/problem.php?id=4034 算是对线段树的一个复习,树链剖分+区间增减单点增减区间查询。真的简单到不用lca,但是线段树又写错了一次。 果然手熟才真的能码出来题,一段时间不写线段树操作都快忘完了,区间是放到标记上单点是直接 ...
分类:
其他好文 时间:
2017-11-05 13:09:52
阅读次数:
142
http://www.lydsy.com/JudgeOnline/problem.php?id=3626 LNOI的树链剖分题没有HAOI那么水,学到的东西还是很多的。 我如果现场写,很难想出来这种题,是时候复习一波离线算法泡脑子了。(没有暴力分的题,想不出来正解就爆零,太可怕了) 排序后离线操作通 ...
分类:
其他好文 时间:
2017-11-05 13:09:12
阅读次数:
146
http://www.lydsy.com/JudgeOnline/problem.php?id=2157 在对树中数据进行改动的时候需要很多pushdown(具体操作见代码),不然会wa,大概原因和线段树区间修改需要很多pushup是一样的。 这个轻重链的方法特别好用,虽然第一次写树链剖分但是容易理 ...
分类:
其他好文 时间:
2017-11-05 12:20:39
阅读次数:
177
放些我比较喜欢的板子QAQ SPFA最短路: Dijkstra 最短路+堆优化 倍增版LCA,用于处理树上任意两点的距离 树剖版LCA,据说比倍增快 线段树,用于区间搞事 树状数组,区间求和比较方便,代码简短 分块,和线段树、树状数组是一家子QAQ,代码优美,逼格较高 禁忌·树链剖分,支持树上两点间 ...
分类:
其他好文 时间:
2017-11-04 16:30:22
阅读次数:
226