码迷,mamicode.com
首页 >  
搜索关键字:无根树转化    ( 16个结果
BZOJ1827 [Usaco2010 Mar]gather 奶牛大集会
题意:给定一棵树,求出树上的一点,使得树上的全部点到该点的距离之和最小。思路:暴力显然是O(N^2)等死对吧。我们首先将无根树转化为有根树,然后一边dfs求出f[i],size[i].f[i]表示以i为根的子树中全部的点到i的距离之和,size[i]表示以i为根的子树的点数。以下開始脑洞大开:如今对...
分类:其他好文   时间:2015-05-08 23:35:46    阅读次数:133
例题1.15 网络 UVALive 3902
1.题目描述:点击打开链接 2.解题思路:本题要求放置尽可能少的服务器,使得所有的客户端到最近的服务器的距离都不超过k。由于已经放置了一个服务器,不妨把它当做根结点,先把无根树转化为有根树,然后我们考虑最深的叶子,那么不难证明,该叶子结点的最优服务器的放置位置是它的k级祖先。这样本题的算法便不难想出:从最深的叶子开始枚举,并在它的k级祖先处放置一个服务器,同时标记该服务器能覆盖到的所有结点,这样...
分类:其他好文   时间:2015-03-14 09:40:44    阅读次数:122
UVA 1292-Strategic game(树形DP)
题目大意:给出一棵树,在某个选择某个结点可以覆盖和它相连的所有边,问最少选多少个结点所有边都被覆盖。 首先将无根树转化为有根树,0为根。 用d[i][0]表示不选择结点i时覆盖以结点i为根的子树最少要多少个结点,用d[i][1]表示选择结点i时覆盖以结点i为根的子树最少要多少个结点。若结点i不选,为了和覆盖所有和结点i相连的结点,则每个儿子都必须选,若结点i选,则每个儿子选择较小的那个...
分类:其他好文   时间:2015-03-10 10:31:14    阅读次数:145
#294 (div.2) E.A and B and Lecture Rooms
1.题目描述:点击打开链接 2.解题思路:本题让我长见识了。也学到了很多新的知识:LCA,多级祖先算法。如果只是单纯地将无根树转化为有根树,找到u,v的中点,再用BFS计算中线上结点的个数,那么最终会导致TLE。本题的高效算法如下: 首先求出以1为根的树的所有结点的总个数,保存在num数组中,再利用LCA算法求出u,v的公共祖先,设为LCA。找到u,v结点的中点mid.此时规定deep...
分类:其他好文   时间:2015-03-02 09:37:41    阅读次数:120
BZOJ1827 [Usaco2010 Mar]gather 奶牛大集会
题意:给定一棵树,求出树上的一点,使得树上的所有点到该点的距离之和最小。 思路:暴力显然是O(N^2)等死对吧。 我们首先将无根树转化为有根树,然后一边dfs求出f[i],size[i]. f[i]表示以i为根的子树中所有的点到i的距离之和,size[i]表示以i为根的子树的点数。 下面开始脑洞大开: 现在对于我们一开始的那个root,我们已经知道了答案。问题就是如何快速...
分类:其他好文   时间:2014-10-21 17:48:24    阅读次数:207
树形DP经典题
本文出自   http://blog.csdn.net/shuangde800 题目传送门 题意: 给出一棵树,求离每个节点最远的点的距离 思路: 把无根树转化成有根树分析, 对于上面那棵树,要求距结点2的最长距离,那么,就需要知道以2为顶点的子树(蓝色圈起的部分,我们叫它Tree(2)),距顶点2的最远距离L1...
分类:其他好文   时间:2014-06-05 06:56:39    阅读次数:226
16条   上一页 1 2
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!