首先是最近公共祖先的概念(什么是最近公共祖先?): 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点。 换句话说,就是两个点在这棵树上距离最近的公共祖先节点。 所以LCA主要是用来处理当两个点仅有唯一一条确定的最短路径时的路径。 ...
分类:
其他好文 时间:
2017-08-14 10:18:05
阅读次数:
147
【HDOJ 5379】 Mahjong tree 往一颗树上标号 要求同一父亲节点的节点们标号连续 同一子树的节点们标号连续 问一共同拥有几种标法 画了一画 发现标号有二叉树的感觉 初始标号1~n 根结点1能够标1或n 否则其它情况无法让以下的子树满足各自连续而且该根的儿子节点都要连续 根结点下的节 ...
分类:
其他好文 时间:
2017-08-01 14:46:17
阅读次数:
216
题目描述 Description 小机房有棵焕狗种的树,树上有N个节点,节点标号为0到N-1,有两只虫子名叫飘狗和大吉狗,分居在两个不同的节点上。有一天,他们想爬到一个节点上去搞基,但是作为两只虫子,他们不想花费太多精力。已知从某个节点爬到其父亲节点要花费 c 的能量(从父亲节点爬到此节点也相同), ...
分类:
其他好文 时间:
2017-07-31 22:59:34
阅读次数:
226
这里只给出前台页面上的代码,数据可以从后台获取,注意,在封装数据的时候,注意:Id(节点的id,可以是数字也可以是字符串) , pid(父亲节点的id) , name(节点名称)不能少 。 html页面插入的代码: 将后台获取的数据展示成树状,默认勾选的将展开: 从后台获取数据,并展示成树状 设置默 ...
分类:
其他好文 时间:
2017-07-29 19:37:04
阅读次数:
256
·一些很可爱的询问和修改,放松地去用并查集解决。 ·英文题,述大意: 输入n(5<=n<=20000)表示树有n个节点,并且会EOF结束地读入不超过 20000个操作,一共有两种: ①I v u:表示将v的父亲节点设置为u(在这之前v没有爸爸),边权设置为abs(v-u)%1000。 ②E u:表示 ...
分类:
Web程序 时间:
2017-07-27 20:18:50
阅读次数:
174
一、梳理概念 定义:对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。 通俗地讲,最近公共祖先节点,就是两个节点在这棵树上深度最大的公共的祖先节点,即两个点在这棵树上距离最近的公共祖先节点。 提示:父亲节点也是祖先节点,节点本身也是 ...
分类:
编程语言 时间:
2017-07-26 01:38:27
阅读次数:
490
题目链接: http://codeforces.com/problemset/problem/685/B 题意: 给你n个点,以1为根,然后给你2-n的节点的父亲节点编号。问你每一颗子树的重心是哪一个节点。 思路: 有定理:把两个树通过一条边相连得到一个新的树,那么新的树的重心在连接原来两个树的重心 ...
分类:
其他好文 时间:
2017-07-23 12:34:15
阅读次数:
180
1. HTML的基本格式 1. 下行游历。 1.1 contents 1.2 气死我了连续两次都没保存上。。。。。 children and descendants 2. 上行游历 2.1 parent 2.2 parents 3. 平行游历(仅同一父亲节点下) ...
分类:
Web程序 时间:
2017-07-23 11:31:18
阅读次数:
177
记节点v到根点的深度为depth[v],那么当w是v和u的最近公共祖先时,可以想让v和u在同一个深度,即让深度高的走|depth[v]-depth[u]|然后一起走, 直到遇见相同的祖先时就是最近公共祖先了。如果是计算一次的话还可以,但有很多询问时就不行了。 那么可以利用父亲节点的信息来做了,可以通 ...
分类:
其他好文 时间:
2017-07-22 13:20:32
阅读次数:
227
题目背景 题目背景 题目背景 题目背景 SOURCE:NOIP2016-RZZ-2 T3 题目描述 给出这样一棵“二叉树”: 每个节点有左右两个儿子,并如下定义每个节点的高度:假设父亲节点的高度为 h ,那么他的两个儿子的节点的高度都是 h + 1 ,相同高度的所有节点称作一层。 每个节点的左儿子的 ...
分类:
其他好文 时间:
2017-07-21 01:14:04
阅读次数:
273