题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行 ...
分类:
其他好文 时间:
2018-05-30 21:17:14
阅读次数:
179
输入一颗二叉树,你的任务是按从上到下、从左到右的顺序输出各个结点的值。每个结点都按照从根结点到它的移动序列给出(L表示左,R表示右)。在输入中,每个结点的左括号和右括号之间没有空格,相邻结点之间用一个空格隔开。每颗树的输入用一对空括号“()”结束(这对括号本身不代表一个结点)。如果从根到某个叶结点的 ...
分类:
其他好文 时间:
2018-05-12 13:51:59
阅读次数:
189
题目描述 给定一棵 nn 个点的带权树,结点下标从 11 开始到 NN 。寻找树中找两个结点,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有节点权值的异或。 输入输出格式 输入格式: 第一行一个整数 NN ,表示点数。 接下来 n-1n?1 行,给出 u,v,wu,v,w ,分别表 ...
分类:
其他好文 时间:
2018-05-12 03:16:50
阅读次数:
135
当前,Memcached、Redis这类分布式kv缓存已经非常普遍。从本篇开始,本系列将分析分布式缓存相关的原理、使用策略和最佳实践。 我们知道Memcached的分布式其实是一种“伪分布式”,也就是它的服务器结点之间其实是相互无关联的,之间没有网络拓扑关系,由客户端来决定一个key是存放到哪台机器 ...
分类:
其他好文 时间:
2018-05-08 14:23:54
阅读次数:
148
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表示。 ...
分类:
其他好文 时间:
2018-04-23 20:27:00
阅读次数:
167
设有一棵二叉树,如图其中,圈中数字表示结点居民的人口.圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻结点之间的距离为1.如上图中,若医院建在:1 处:则距离之和=4+12+2*20+2*40=1363 处:则距离之和=4*2+13+20+40 ...
分类:
其他好文 时间:
2018-04-14 00:42:18
阅读次数:
166
Description 给出n个结点以及每个点初始时对应的权值wi。起始时点与点之间没有连边。有3类操作: 1、bridge A B:询问结点A与结点B是否连通。 如果是则输出“no”。否则输出“yes”,并且在结点A和结点B之间连一条无向边。 2、penguins A X:将结点A对应的权值wA修 ...
分类:
其他好文 时间:
2018-04-09 13:04:23
阅读次数:
147
Java实现堆排序(大根堆) 堆排序是一种树形选择排序方法,它的特点是:在排序的过程中,将array[0,...,n-1]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲节点和孩子结点之间的内在关系,在当前无序区中选择关键字最大(最小)的元素。 1. 若array[0,...,n-1]表示一 ...
分类:
编程语言 时间:
2018-03-25 11:58:00
阅读次数:
191
Description 给定一个N 个结点的无向完全图( 任意两个结点之间有一条边), 现在你可以用 M 种颜色对这个图的每条边进行染色,每条边必须染一种颜色。 若两个已染色的图,其中一个图可以通过结点重新编号而与另一个图完全相同 , 就称这两个染色方案相同。 现在问你有多少种本质不同的染色方法,输 ...
分类:
其他好文 时间:
2018-03-06 23:16:46
阅读次数:
195
树链剖分整理总结 问题的设置: 对于一株树(无向无环连通图),为每个结点分配对应的权重。要求能高效计算任意两个结点之间的路径的各类信息,其中包括路径长度(路径上所有结点的权重加总),路径中最大权重,最小权重等等。到这里一切都还是比较简单的,我们可以利用Tarjan的LCA算法在线性时间复杂度内快速求 ...
分类:
其他好文 时间:
2018-03-01 00:49:12
阅读次数:
201