码迷,mamicode.com
首页 >  
搜索关键字:有根树    ( 555个结果
poj-3321 Apple Tree
题意: 给定一棵有根树,开始时每个节点有苹果; 有两种操作 C x :使x节点的状态改变,有果子变成没有,没有就变成有; Q x :查询x节点子树上的果子总数; n,m 题解: 范围显然不能爆搜,所以我们在求和的时候不能枚举; 可以想到用树状数组来维护和; 所以基本想法就是使子树们各自在一个区间上,然后树状数组维护; 制作这个区间就用dfs,回溯时正好记录了整棵子树的信息;...
分类:移动开发   时间:2015-04-30 16:16:43    阅读次数:155
数据结构 - 树(基础)
1、无根树转有根树 #include #include #include #include #define LL long long #define INF 0x7fffffff #include using namespace std; const int maxn = 1000005; int p[maxn]; int n; int root; vector G[maxn]; ...
分类:其他好文   时间:2015-04-15 09:44:26    阅读次数:156
BZOJ 3522 [Poi2014] Hotel 题解
题意:求一棵边权全都是1的树上,集合大小为3,且集合内点两两距离相等的集合个数。NOIP2014 D1T2加强版。。通过分析发现,满足这样的点对一定是在有根树中深度相同,且不再同一棵以根节点儿子为根的子树中。于是我们枚举根。。三个点的集合个数是由2个点的集合个数转移过来的。。2个又是由一个转移过来的...
分类:其他好文   时间:2015-04-13 16:16:44    阅读次数:170
【树链剖分】【线段树】bzoj3626 [LNOI2014]LCA
引用题解:http://blog.csdn.net/popoqqq/article/details/38823457题目大意:给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。有...
分类:其他好文   时间:2015-03-18 07:46:44    阅读次数:149
Facebook Hacker Cup 2015 Round 1--Corporate Gifting(树形动态规划)
原题:https://www.facebook.com/hackercup/problems.php?pid=759650454070547&round=344496159068801题意:给定一颗有根树,在树上下层的节点要给上层节点礼物,根节点的礼物则给慈善会,但是给礼物有个条件就是你不能送你的父节点已经送出的礼物。问满足要求的最少花费。 题解:这个题卡了一段时间,类似于染色问题,可以用树形动态...
分类:其他好文   时间:2015-03-14 23:16:48    阅读次数:155
HDU2586.How far away ?——最近公共祖先(离线Tarjan)
http://acm.hdu.edu.cn/showproblem.php?pid=2586给定一棵带权有根树,对于m个查询(u,v),求得u到v之间的最短距离那么只要求得LCA(u,v),dis(u,v)=dis[u]+dis[v]-2*dis[LCA(u,v)],其中dis[i]表示节点i到根节点root的距离31MS 4104K 2186 B#include #i...
分类:其他好文   时间:2015-03-14 13:56:04    阅读次数:136
例题1.15 网络 UVALive 3902
1.题目描述:点击打开链接 2.解题思路:本题要求放置尽可能少的服务器,使得所有的客户端到最近的服务器的距离都不超过k。由于已经放置了一个服务器,不妨把它当做根结点,先把无根树转化为有根树,然后我们考虑最深的叶子,那么不难证明,该叶子结点的最优服务器的放置位置是它的k级祖先。这样本题的算法便不难想出:从最深的叶子开始枚举,并在它的k级祖先处放置一个服务器,同时标记该服务器能覆盖到的所有结点,这样...
分类:其他好文   时间:2015-03-14 09:40:44    阅读次数:122
POJ1330Nearest Common Ancestors——最近公共祖先
http://poj.org/problem?id=1330给一个有根树,一个查询节点(u,v)的最近公共祖先836K 16MS#include #include #include #include #include #include #include #include<map...
分类:其他好文   时间:2015-03-13 12:43:43    阅读次数:114
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
555条   上一页 1 ... 49 50 51 52 53 ... 56 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!