![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
欧拉序
Wuliwuliii
谁无暴风劲雨时,守得云开见日明!
展开
-
牛妹的苹果树【牛客练习赛67 F】【倍增+欧拉序+树的直径】
题目链接 求区间内的点对的最大直径。 其实,我们可以发现直径有相对应的传递关系的,如果我们已知一棵树上的直径,,假设又知道另一棵树上的直径,,那么新的直径只能通过这四个点两两组和来实现的。 所以,我们可以用倍增的方法来维护这个连续关系对。9 11 2 11 3 21 4 31 5 51 6 62 7 73 8 44 9 26 7ans:14#include <iostream>#include <cstdio>#include ...原创 2020-08-15 10:41:22 · 167 阅读 · 0 评论 -
血压游戏【科大讯飞杯G题】【虚树】
题目链接 一开始的时候,我往长链剖分上去写,但是写不好,最后写成了当只有一条链的时候是的惨案了。 然后,开始想别的想法了,于是想(偷窥)到了虚树的做法。 因为,我们可以发现,一个点,向上影响的时候,只有同等深度的才会同时起作用,只要不是同等深度的时候,那么他们的时间就会是错开的,所以,我们可以对深度来进行处理。只有发生这种情况的时候,x和y才会同时影响一个结点,不然的...原创 2020-04-20 22:55:54 · 413 阅读 · 0 评论 -
QTREE5 - Query on a tree V【动态点分治/点分树】
题目链接 SP2939 QTREE5 - Query on a tree V 我们要求某点到最近白点的距离,支持多次修改多次询问。 如果这题换成了最长距离,那么显然就没有这层关系了,我们就考虑这道题的动态点分治的做法。查询答案 如果现在的点的答案在目前点分树内,那么距离就一定是“该点到该点分树树根的距离”+“该点分树树根到最近白点的距离”。那么,有的人就会问了,如果在这个点分...原创 2020-04-16 21:37:36 · 264 阅读 · 0 评论 -
QTREE4 - Query on a tree IV【动态点分治/点分树】
题目链接 SP2666 QTREE4 - Query on a tree IV给定一棵n个点的带边权的树,点从1到n编号。每个点可能有两种颜色:黑或白。我们定义 dist(a,b)为点a至点b路径上的权值之和。一开始所有的点都是白色的。要求作以下操作:C a将点a的颜色反转。(黑变白,白变黑)A询问 dist(a,b)的最大值。a,b点都必须为...原创 2020-04-16 14:51:39 · 251 阅读 · 0 评论 -
1830 路径交【LCA+线段树】
题目链接 51 nod 1830 路径交 首先,理解一下题意,题目是给出一棵N个点的树,然后给出M条边,接着Q次询问,每次询问M条边中的第L条边到第R条边中有多长的边是与每条边都有交集的,记住是第L条到第R条的每一条都要交,而不是只要两两有交集就可以了。 理清楚题意之后,我们先来看一下两条边相交得到的边是哪条边? 譬如说我们有两条边。我们想知道和的交边长度,如图可以很清楚...原创 2020-04-16 09:47:26 · 247 阅读 · 0 评论 -
[HNOI2015]开店【动态点分治/点分树】
题目链接 Q次强制在线查询,求N个点的固定树型结构的某点u到其余范围在[L, R]区间内的点的距离之和。 又是一道动态点分治的码量题,逐渐写出手感。 首先,由于这道题没有修改操作(可以省掉好多码量了呢),我们可以用前缀和、差分这样的方法来进行求解。所以,我们先看怎样求一点到树上各点的距离,这在[ZJOI2015]幻想乡战略游戏【动态点分治/点分树】中有了初略的涉及,这里再细致的再...原创 2020-04-14 21:20:12 · 191 阅读 · 0 评论 -
[ZJOI2015]幻想乡战略游戏【动态点分治/点分树】
题目链接 带修改的求有权值树的重心问题。 给出一个树形结构固定的树,有修改操作,每次修改操作之后求当前的到所有点的最小距离*权值和。 我用的是动态点分治来解决这个问题,首先的话,修改操作比较的好想,因为在点分树中,树的深度为,所以可以保证向上更新的复杂度是的。 接下去就是要求解答案了,我们想要的求解出某个点的作为重心时候的答案呢?譬如,我们要算u点作为重心时候的答案。从u点...原创 2020-04-14 11:25:57 · 205 阅读 · 0 评论 -
[ZJOI2007]捉迷藏【动态点分治】
题目链接 有N个点的树,树结构固定,可以对结点进行开关处理,问关灯两结点的最远距离。 用动态点分治来维护这个了。动态点分治,我们知道每个点分树的父节点是固定的,此话怎讲?我们模拟一下点分治的过程,首先,找到一个根结点root,然后从它开始进行一系列计值算法,接下去是分治,我们对于root的v结点方向,找到一个新的根rt,那么,我们认为root是rt的父结点。所以,每个结点...原创 2020-04-12 19:49:50 · 152 阅读 · 0 评论 -
动态点分治
点分治,作为树分治中的一种,在很多树形结构的问题上起到了很重要的作用,但是假如我们在树分治的基础上,根据时间戳来对树上的结点进行修改的话,那样岂不是很难受? 点分治该怎么搞?暴力,当然是暴力啊?每次修改一次,我们暴力点分一次,复杂度升天。 那么,就该介绍一下动态点分治了!动态点分治 动态点分治,我们知道每个点分树的父节点是固定的,此话怎讲?我们模拟一下点分治的过程,首先,...原创 2020-04-12 15:44:21 · 626 阅读 · 0 评论 -
欧拉序+差分代替树链剖分维护树上信息
题目链接 [HAOI2015]树上操作 如果用树链剖分来写,这当然是一道简单的维护问题,但是今天的主题是欧拉序(莫名给题加难度了)。 先看一张图,我们列写一下本题的欧拉序的列写方法,这道题的欧拉序的跑法是进出各只记录一次。对应欧拉序:A-B-D-D-E-E-F-F-B-C-C-A 所以说,欧拉序是很活的,对应不同的问题,有时候需要用不一样的方法来跑。 那么,我们也很...原创 2020-04-01 10:55:02 · 452 阅读 · 0 评论 -
欧拉序求解LCA
奇怪的知识又增加了呢! 今天,我们来讲一下欧拉序的一个神奇的用处——求解LCA,这个神奇的方法求LCA有什么神奇的好处呢?它的预处理操作是的,但是查询操作是O(1)的。 好了,直入主题,首先,怎样求解欧拉序呢? 这幅图的欧拉序为:A - B - D - B - E - G - E - B - A - C - F - H - F - C - A 很显然的,我们能发现,任意...原创 2020-03-31 23:18:25 · 2076 阅读 · 0 评论