码迷,mamicode.com
首页 >  
搜索关键字:有根树    ( 555个结果
关于点分治的理解
【引言】 由于树具有一般的图没有的特点,所以在竞赛中的应用更广。 在一些树上路径问题中,暴力求解时间复杂度过高,往往需要一些更为高效的算法,点分治就是其中之一。 【流程】 1、首先选取一个点,把无根树变成有根树。 那么如何选点呢? ——树型动规 因为树是递归定义的,所以我们当然希望递归的层数最小。 ...
分类:其他好文   时间:2016-09-27 13:18:02    阅读次数:218
UVa 1645 Count (递推,数论)
题意:给定一棵 n 个结点的有根树,使得每个深度中所有结点的子结点数相同。求多棵这样的树。 析:首先这棵树是有根的,那么肯定有一个根结点,然后剩下的再看能不能再分成深度相同的子树,也就是说是不是它的约数。那么答案就有了, 我们只要去计算n-1的约数有多少棵不同的树,然后就有递推式了。 代码如下: ...
分类:其他好文   时间:2016-09-11 20:17:09    阅读次数:112
BZOJ3485 : [Baltic2012]peaks
首先将每个平原缩成一个点,建出图,相邻两个点之间的边权为它们高度的较小值。 用Kruskal算法求出这个图的最大生成树,每次合并两个连通块时新建一个点指向它们,得到一棵有根树。 对于每个点,求出它子树内最高的峰,那么对于每个叶子,在它到根的路径上二分查找即可。 时间复杂度$O(nm\log(nm)) ...
分类:其他好文   时间:2016-09-07 19:04:07    阅读次数:204
【BZOJ-3653】谈笑风生 DFS序 + 可持久化线段树
3653: 谈笑风生 Description 设T 为一棵有根树,我们做如下的定义:? 设a和b为T 中的两个不同节点。如果a是b的祖先,那么称“a比b不知道高明到哪里去了”。? 设a 和 b 为 T 中的两个不同节点。如果 a 与 b 在树上的距离不超过某个给定常数x,那么称“a 与b 谈笑风生” ...
分类:其他好文   时间:2016-09-07 17:33:49    阅读次数:173
Topcoder 144-150(未完待续)
SRM 144 Div2 1100 PowerOutage 题意:给定一个有根树,求遍历完整棵树的最小路程 题解:DFS一下,求出叶子节点中到根节点的最远距离,然后把树的所有边相加,乘以二,减去最远距离就是答案 #line 2 "PowerOutage.cpp" #include<bits/stdc ...
分类:其他好文   时间:2016-09-07 01:35:37    阅读次数:149
BZOJ 4003 【JLOI2015】城池攻占
Description 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。 这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi <i。也就是说,所有城池构成了一棵有根树。这 m 个骑士用 1 到 m 的整数表示,其 ...
分类:其他好文   时间:2016-09-03 21:01:38    阅读次数:196
POJ1192 最优连通子集
题解: 题意读了半天。其实就是求一个连通子集,使得子集的所有点的权值最大 因为是无根树,所以dfs一次转化成有根树,然后将dfs序保存在vector里。然后根据vector反向dp即可 代码: ...
分类:其他好文   时间:2016-09-03 18:17:59    阅读次数:145
Topcoder SRM 144
Div2 1100 PowerOutage 题意:给定一个有根树,求遍历完整棵树的最小路程 题解:DFS一下,求出叶子节点中到根节点的最远距离,然后把树的所有边相加,乘以二,减去最远距离就是答案 Div1 550 Lottery 题意: 买彩票,给定一些彩票的描述:choice,blanks,sor ...
分类:其他好文   时间:2016-09-01 00:16:39    阅读次数:185
HYSBZ 4551 (树状数组) 采花
题目:这里 题意: 在2016年,佳媛姐姐刚刚学习了树,非常开心。现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个 结点,可以打多次标记。)2. 询问操作:询问某个结点最近的一个打了标 ...
分类:编程语言   时间:2016-08-31 00:36:19    阅读次数:193
bzoj3083 遥远的国度 题解
题目大意: 给定一棵有根树,每个点有一个权值,提供三种操作: 1.将x节点变为根节点 2.将x到y路径上的点的权值全部改为v 3.询问x的子树中点权的最小值 思路: 用DFS序剖分,记录每个节点入栈出栈的时间,其之间的区间即为子树。操作2用线段树直接搞,而换根先不管,可用原来的DFS序。询问时分类讨 ...
分类:其他好文   时间:2016-08-30 21:13:36    阅读次数:161
555条   上一页 1 ... 39 40 41 42 43 ... 56 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!