E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
——dfs序
LOJ146
dfs序
3 题解(
dfs序
+树状数组+树上差分)
题目:LOJ146.题目大意:给定一棵nnn个点的树,要求支持以下操作:1.格式1 a b c1\,a\,b\,c1abc,表示把链(a,b)(a,b)(a,b)上的点点权加上ccc.2.格式2 a2\,a2a,表示查询点aaa的点权.3.格式3 a3\,a3a,表示查询点aaa的子树点权和.设操作
hezlik
·
2020-08-19 10:50
旅行(NOIP模拟测试22)
题目大意:统计一棵无根树的
DFS序
中字典序小于B的方案数。我们先考虑这样一个问题:一棵有根树,从根开始的
DFS序
有几种。显然一棵树的
DFS序
可以视为一个排列。
aohuaji5553
·
2020-08-19 08:23
CSP-S 2019 第二轮 DAY2 简单解析(含部分分代码)
第一题:Emiya家今天的饭,比较难的动态规划第二题:划分,动态规划,高精度,单调队列第三题:树的重心,
dfs序
,线段树以下代码均在oitiku测试,第一题Emiya家今天的饭,O(n^2m)的算法仅得到
ngncmh
·
2020-08-19 08:02
CSP-J/S
2019
【NOIP模拟】T2 管道(状压dp求图的
dfs序
方案数)
f[i][j]:i表示整个图走没走过的状态j表示当前到了第j个点存的值就是在这种情形下可以走到的地方的状态dp[i][j]:i表示整个图走没走过的状态j表示当前在j点访问剩余能去到的点的方案数因此只需要跑一遍DFS就好了#include#defineintlonglong#definemod998244353#defineN19#defineM400usingnamespacestd;intn,m
Android66666
·
2020-08-19 07:44
TREE(
dfs序
+树上差分)
题目一棵N个节点的树,每个节点有整数值的点权。树上节点标号为1∼N。Q个询问,形式如下:(1)0xy:把编号x的节点的点权修改为y。(2)1xy:对于编号x∼y路径上的每一种点权,是否都出现偶数次?数据保证每次询问的路径上最多只有一种点权的出现次数是奇数次。输入格式:第一行两个数N、Q表示树的节点数和询问个数。(5#include#include#include#include#includeus
BIT_jzx
·
2020-08-19 07:47
dfs序
线段树
总结
Codeforces Global Round 1 F. Nearest Leaf
题解这题本身不难,但是比赛的时候能不能做到这个题,能不能熟练地想到这些套路并且快速把它写出来就是个问题了离线,把每个询问挂到对应的点上去从根节点开始dfsdfsdfs,每次经过一条边,就根据dfsdfs
dfs
*ACoder*
·
2020-08-19 06:07
#
线段树
hdu6031 Innumerable Ancestors
还有另外一个解法,就是深度最大的LCA在
DFS序
中与它们两点距离最近,然后贪一贪就好了。
wanherun
·
2020-08-18 09:35
刷题总结
二分相关
虚树笔记
(其实就是把一些不需考虑的点忽略).构造先把关键点按照dfsdfs
dfs序
进行排序,用一个栈维护一个极右链,只需精细地维护这个极右链即可.对于一个根为1的有根树,初始sta[top=1]=1sta[top
zsyzlzy
·
2020-08-18 09:23
树链剖分之长链剖分 详解 题目整理
将其归入当前点所在的同一条长链重剖主要用于维护子树信息和链信息,长剖主要用于维护子树中只与深度有关的信息长剖从根开始对树进行深度优先搜索,同时优先搜索子树深度最深的儿子优先搜索子树深度最深的儿子(以下以重儿子表示)使得每条长链在
dfs
qcwlmqy
·
2020-08-18 08:34
数据结构
【spoj】【COT2 - Count on a tree II】【莫队算法】
求出
dfs序
,将左端点按sqrt(n)一块分块为第一关键字,将右端点为第二关键字排序。
inklutcuah
·
2020-08-18 08:49
spoj
其他重要思想
spojCOT2 Count on a tree II
分块的方法就是按照
dfs序
来分。然后将查询里的x,y,按照x
bestFy
·
2020-08-18 08:34
树上莫队
spoj-cot2(树上莫队)
我们可以在树上做下分块然后莫队,至于怎么分看你的技巧,我是先去学了一下联盟王国的树上分块据说那个操作的分块查询一块是sq~3sq的时间复杂度而且还是比较正统,所以我选择用那个分块,然后接着r我怎么操作呢,我们按
dfs
最菜的acmer
·
2020-08-18 08:04
莫队
hdu 6031 Innumerable Ancestors
问题简化为,给定一个节点,求另外一点与它的lca的深度最大,可知
dfs序
列最接近的两点的lca的深度最大,所以,可以将给定集合中的节点按他的
dfs序
从小到大排序,二分找到最接近的那个,因为二分找到的只是比它大的最接近的一个
zmh69695328
·
2020-08-18 07:40
BZOJ 4034 [HAOI2015]T2 树链剖分+线段树
第一种操作略第二种操作修改子树…
dfs序
。第三种链剖完之后
wzq_QwQ
·
2020-08-18 06:51
Segment
Tree
Tree
Chain
BZOJ刷题录
0719-琐记-欧拉序,
dfs序
,ST表
刚刚又拉着ldw老师恶补了一些知识深搜序(
dfs序
)就是你深搜时走过的路径欧拉序就是你深搜走的路径,返回上一个节点时把上一个节点再记录一次详细讲解--戳这儿刚刚只是简略的提了一下,知道了个概念而已(但总比不知道好啊
Faithfully__xly
·
2020-08-18 05:05
DFS序
DFS序
:就是将树形结构转化为线性结构,用dfs遍历一遍这棵树,进入到x节点有一个in时间戳,递归退出时有一个out时间戳,x节点的两个时间戳之间遍历到的点,就是根为x的子树的所有节点。
@江上雨
·
2020-08-18 05:35
DFS
Apple Tree(树状数组+
dfs序
+邻接表数组(链式前向星) )
链接:http://poj.org/problem?id=3321DescriptionThereisanappletreeoutsideofkaka'shouse.Everyautumn,alotofappleswillgrowinthetree.Kakalikesappleverymuch,sohehasbeencarefullynurturingthebigappletree.Thetree
淼润淽涵
·
2020-08-18 03:04
数据结构--树状数组
数据结构--链式前向星
数据结构--dfs序和欧拉序
dfs序
dfs序
tree数组为线段树,len为线段树长度,lazy为懒惰数组#includeusingnamespacestd;constintmaxn=5e4+7;intn,m;vectoradj[maxn]
七九河开
·
2020-08-18 02:48
#
模板
用线段树维护树的直径
操作首先我们做出一棵树的
dfs序
,然后以
dfs序
为轴建立线段树,每个区间维护直径len,以及直径的两个端点x和y。会有这么一个问题:你按线段树划分区间,那一个区间内的点可能不连通啊!!!
rzO_KQP_Orz
·
2020-08-18 02:29
算法_线段树
NC13950 Alliances(
DFS序
+ LCA)
题目链接题意:一个国家有n个城市,形成一棵树,有n−1条边一个国家有n个城市,形成一棵树,有n-1条边一个国家有n个城市,形成一棵树,有n−1条边国家中有k个帮派,分别占领一些城市国家中有k个帮派,分别占领一些城市国家中有k个帮派,分别占领一些城市每个帮派占领ci个城市,以及这ci个城市路径上的所有点每个帮派占领c_i个城市,以及这c_i个城市路径上的所有点每个帮派占领ci个城市,以及这ci个城市
zzugzx
·
2020-08-18 02:06
树数数【智算之道复赛E】【树链剖分+
dfs序
】
题目链接我们可以考虑一个黑点u,它作为LBCA点所产生贡献次数为,其中,指的是u的子孙节点们,那么,u点作为LBCA点的贡献值就可以求出来了,就是了。根据这样的关系,我们可以推导改变所带来的信息变化。白点变黑点那么,它的影响只会对它向上最近的黑色节点产生直接影响,对于再往上的黑色节点,由于被给阻断了,所以受不到影响,同时,它会产生贡献,它产生的贡献就可以通过来计算得到。对于节点的影响呢?那么,其实
Andres_Lionel
·
2020-08-18 01:14
树链剖分
线段树
树链剖分
dfs序
线段树
【Gym-100085 K】Kingdom Roadmap【树上构造题】
看了题解之后发现,可以先对整个树进行一个dfs,求出每个叶子节点的
dfs序
。添边肯定是对叶子节点进行添边,因此需要求出所有叶子节点的
dfs序
。
Gene_INNOCENT
·
2020-08-18 01:33
图论
线段树进阶总结一
DFS序
欧拉序(括号序)
DFS序
前置的几道题线段树
DFS序
1单点更新区间查询https://blog.csdn.net/qq_40831340/article/details/84501232线段树
DFS序
2区间子树更新单点查
ZHXU1998
·
2020-08-18 01:35
线段树
动态维护树的直径
思路:1.首先要会树剖,用树剖处理该树,得到一个线段树维护的
DFS序
(
永远鲜红の幼月
·
2020-08-18 01:50
数据结构
二叉树的序列化和反序列化(先序遍历、后序遍历、BFS、DFS)
二叉树的序列化和反序列化序列化:给定二叉树,生成先序、后序、BFS、
DFS序
列反序列化:给定先序、后序、BFS、
DFS序
列,生成二叉树1.序列化1.1先序序列化:递归方法:defPreorder_serialize
吃龙虾一样能吃饱
·
2020-08-18 01:46
算法
python
DFS序
详解
http://cdnnn.07net01.com/2015/08/899785.htmlhttp://blog.csdn.net/ccsu_001/article/details/47667587这是我将上面的2篇博客合成的一篇文章,链接如上给定一棵n个节点的树,m次查询,每次查询需要求出某个节点深度为h的所有子节点。对于这个问题如果试图去对每个节点保存所有深度的子节点,在数据大的时候内存会吃不消
ACLewis
·
2020-08-18 00:49
-----数据结构-----
线段树
dfs序
算法学习知识库
BZOJ_P4196 [NOI2015]软件包管理器(树链剖分+
dfs序
)
BZOJ传送门Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu使用的apt-get,Fedora/CentOS使用的yum,以及OSX下可用的homebrew都是优秀的软件包管理器。
BeiYu-oi
·
2020-08-18 00:23
BZOJ
NOI
树链剖分
【笔记】
dfs序
,欧拉序,LCA的RMQ解法
DFS序
DFS序
的定义将树节点按dfs过程中的访问顺序排序,称为
dfs序
。性质一个节点和它的子树在一个连续的区间中。
Little_Fall
·
2020-08-17 23:36
学习笔记
计蒜客-鸣人的影分身之书
dfs序
列
题目链接https://www.jisuanke.com/course/709/36590题意:有n个点,m条边的联通图,有m个人落在任一点上,往周围走。每个人最多经过2n/k个点,要求每个点都要被经过至少一次,求怎么走?B站题解https://www.bilibili.com/video/av9249649?from=search&seid=12541065912944045953题解:DFS搜
Valley.me
·
2020-08-17 23:33
搜索
DFS序
与欧拉序的区别
DFS序
与欧拉序的区别
dfs序
:是指将一棵树被dfs时所经过的节点顺序(不绕回原点)。欧拉序:就是从根结点出发,按dfs的顺序在绕回原点所经过所有点的顺序。
湿毒清胶囊
·
2020-08-17 23:36
DFS
数据结构
dfs序
和欧拉序
dfs序
关于dfsdfs
dfs序
是访问一棵树时将其按照dfsdfsdfs时访问的先后顺序打上序号,一般维护两个数组in和out,用一个id表示时间节点,每次进来一个新的节点则in[u]=++idin[u
小胡同的诗
·
2020-08-17 21:28
DFS序
codeforces 1062E
题解:首先一堆点的lca就是
dfs序
最大的点和最小的点的lca,那么我们只用考虑删掉这两个点后的lca是多少就可以了,维护区间
dfs序
最大和次大,最小和次小。#includeusingnam
black_miracle
·
2020-08-17 21:01
dfs
LCA
树的
dfs序
&& 系统栈 && c++ rope
利用树的
dfs序
解决问题:就是dfs的时候记录每个节点的进入时间和离开时间,这样一个完整的区间就是一颗完整的树,就转化成了区间维护的问题。
aigai2119
·
2020-08-17 21:58
DFS序
及 手动扩栈指令
概念
DFS序
是转树型结构为线型结构的经典方法。
新熊君
·
2020-08-17 20:33
最近公共祖先LCA--Tarjan算法
Tarjan算法:其实讲个道理,我也不知道究竟是不是tarjan算法,因为网上说这个
dfs序
离线做法不是tarjan啥的,姑且这么叫吧。。反正复杂度也
Shiina_Orez
·
2020-08-17 20:08
基本算法
DFS序
总结
DFS序
是一个很棒的算法(反正博主这么认为)。
Greninja_Wu
·
2020-08-17 19:49
DFS序
算法&数论总结
By
Greninja
dfs序
& 欧拉序
dfs序
:s[u]:dfs时进入u节点子树时的时间戳;s[v]:dfs时离开u节点子树时的时间戳.欧拉序:E[i]:第i时间访问到的节点R[u]:节点u被访问到的第一时间Question:给定树形图,然后
薄层
·
2020-08-17 19:49
杂杂的
优秀算法总结
DFS序
与欧拉序的区别
DFS序
与欧拉序的区别
dfs序
:是指将一棵树被dfs时所经过的节点顺序(不绕回原点)。欧拉序:就是从根结点出发,按dfs的顺序在绕回原点所经过所有点的顺序。
淼润淽涵
·
2020-08-17 19:14
数据结构--dfs序和欧拉序
dfs序
欧拉序
用线段树维护树的直径
操作首先我们做出一棵树的
dfs序
,然后以
dfs序
为轴建立线段树,每个区间维护直径len,以及直径的两个端点x和y。会有这么一个问题:你按线段树划分区间,那一个区间内的点可能不连通啊!!!
rzO_KQP_Orz
·
2020-08-17 19:32
算法_线段树
dfs序
——搜索图的遍历
dfs序
搜索图的遍历请输出一个图的使用深度优先搜索的顺序(先访问编号小的节点再访问编号大的节点)和每个顶点的间戳编号即这个顶点是第几个被访问到的输入格式:第一行的有两个整数nm,n个顶点,m条边接下来m
CUNVZUO
·
2020-08-17 18:41
图结构
深度优先搜索
图论-DFS、
DFS序
、欧拉序
DFSDFS(DepthFirstSearch),深度优先遍历,是用于遍历或者搜索树或图的算法。深度优先则指的是,其每次搜寻都会尝试往更深结点走。DFS在搜索算法中,常常利用函数递归实现暴力枚举,而DFS在图论中,则是对图的每个结点的遍历。DFS最显著的特征在于其递归调用自身,在遍历图时,对其访问的点打上访问标记,在遍历时跳过标记过的点,以确保每个点仅访问一次。DFS大致结构如下:DFS(v)//
BbiHH_
·
2020-08-17 18:10
ACM摸鱼
CodeForces 620E New Year Tree
线段树+位运算首先对树进行DFS,写出
DFS序
列,记录下每一个节点控制的区间范围。然后就是区间更新和区间查询了。某段区间的颜色种类可以用位运算来表示,方便计算。
weixin_34008805
·
2020-08-17 03:00
CodeForces 384E Propagating tree 树状数组
dfs序
组合使用
PropagatingtreeCodeForces-384E题意:有一棵树,上面每个点都有一个权值,这棵树有两种操作:1.输入1xval表示把第x个点权值加上一个val,对于每个点,它权值改变了,val,则它的儿子权值改变-val一直更新权值直到叶子节点2.输入2x,表示查询第x个点的权值对于操作一,会发现,它是分层进行操作的,把层分为奇偶层,如果当前操作为奇数层+val,那么它下面的所有奇数层都
LinzhiQQQ
·
2020-08-16 23:19
ACM-
树状数组
CodeForces - 383C Propagating tree (
DFS序
+线段树)
所以我们可以根据结点深度的奇偶性,通过
DFS序
建立两颗线段树。将操作一和二化为线段树区间修改,单点查询的操作。注意特判只有一个
azure1cloud
·
2020-08-16 23:08
—————数据结构—————
>树形转线形<
DFS序
[codeforces383C - Propagating tree]
dfs序
+segment tree
C.Propagatingtreetimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputIahublikestreesverymuch.Recentlyhediscoveredaninterestingtreenamedpropagatingtree.Thetreeco
ALPS233
·
2020-08-16 23:09
Segmet
Tree
【HDU】5574 Colorful Tree【子树染色,询问子树颜色数——线段树+bit+lca+set】
题目分析:set维护每种颜色所在的
dfs序
区间,修改均摊nlogn。
poursoul
·
2020-08-16 08:59
线段树
树状数组
最近公共祖先【LCA】
set
割点
dfs寻找割点,其实运用到了
dfs序
的性质,即当判断x是否为割点时,要保证low[x]的值为不通过节点x,x以及
AisingioroHao
·
2020-08-15 14:59
图论
CF383C Propagating tree【线段树】
题意:一棵树,两个操作:1.给一个节点加val,下面一层的节点减val,再下面一层加val,以此类推2.查询某节点的值思路:
dfs序
处理,把节点分为奇数层与偶数层。
wjw1340
·
2020-08-15 12:01
线段树
hdu5390 tree
先求出
dfs序
,然后建立线段树,线段树每个节点套一个set。修改操作只需要改被子树区间完全覆盖的线段树节点,将其节点中set的原来的值删除,加入新值。
weixin_30709635
·
2020-08-15 11:33
BUPT Summer Training #7 for Grade 14 题解
自己在纸上推推公式,很容易就能知道为何是对的了这里用两个树状数组即可维护,当然增加整棵子树的操作就是预先处理
dfs序
,将树转化为线性,然后在
朽弈
·
2020-08-15 11:26
ACM之路
ACM
C++
算法
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他