码迷,mamicode.com
首页 >  
搜索关键字:dfs序    ( 668个结果
bzoj 3772
感觉做这种题收获很大。1、DFS序(广义上)除了用于静态子树操作,也可以用来做点到根的路上某些信息的统计(如点到根的路径上标记了多少个点),如果在加上lca,就可以支持路径的信息查询。2、树上的可持久化线段树,如果每个节点要维护一个线段树,并且该线段树支持加减操作,那么通过可持久化+lca,搞定一条...
分类:其他好文   时间:2015-04-01 21:35:15    阅读次数:178
【树链剖分】【dfs序】【线段树】bzoj2836 魔法树
这道题告诉我们:树链剖分的重标号就是dfs序。#include#includeusing namespace std;#define N 100001#define lson rt>1)); sumv[rt>1); delta[rt]=0; }}void update(int ql,int ...
分类:其他好文   时间:2015-03-12 22:27:44    阅读次数:166
【HDU4366】【DFS序+分块】Successor
Problem DescriptionSean owns a company and he is the BOSS.The other Staff has one Superior.every staff has a loyalty and ability.Some times Sean will ...
分类:其他好文   时间:2015-03-10 08:57:13    阅读次数:217
【手动开栈】【dfs序】【树状数组】【Tarjan】bzoj2819 Nim
考虑树状数组区间修改(只对其子树的答案有影响)点查询,每个点记录的是它到根路径上的权值异或和。答案时query(L)^query(R)^a[lca]。这种方法在支持区间加法、减法的树上询问的时候可以避免树链剖分。可能爆栈,考虑手动开栈。(诶诶Tarjan预处理lca的时候怎么没手动开栈?不要在意^_...
分类:编程语言   时间:2015-03-09 22:26:08    阅读次数:216
【dfs序】【树状数组】bzoj1103 [POI2007]大都市meg
预处理出每个点到根节点的土路数,插到一个树状数组里,然后每次修改只会对子树中的节点造成影响,于是相当于区间修改、点查询了。#includeusing namespace std;#define N 250001int n,en,v[N<<1],next[N<<1],first[N],m;void A...
分类:编程语言   时间:2015-03-09 16:00:06    阅读次数:133
hdu 3887 Counting Offspring(DFS序【非递归】+树状数组)
题意:N个点形成一棵树。给出根结点P还有树结构的信息。输出每个点的F[i]。F[i]:以i为根的所有子结点中编号比i小的数的个数。0 G[N];int C[N];int ans[N];stack S;bool vis[N];void Add(int x){ for(int i=x;i0;i-=...
分类:编程语言   时间:2015-03-06 14:00:35    阅读次数:139
HDU 5156 - Harry and Christmas tree (dfs序+离线树状数组)
http://acm.hdu.edu.cn/showproblem.php?pid=5156BC#25的C题。题意是:给出一颗大小为n的树,以1为根,然后给出m次染色,每次将节点u加上一种颜色(一个节点可以有多个颜色)。最后查询树上每个节点对应子树上包含的不同颜色数量。当时这场比赛没有做,回来看一下...
分类:编程语言   时间:2015-03-06 00:53:38    阅读次数:523
【BZOJ 1103】 [POI2007]大都市meg
dfs序+树状数组~...
分类:其他好文   时间:2015-02-26 23:05:01    阅读次数:424
BZOJ2836 魔法树
题意:树上进行两种操作:(1)链上+d(2)子树求和直接链剖即可,子树求和就dfs序即可。注意,dfs序按照重儿子在最先的序列,然后建立线段树。 1 /************************************************************** 2 Pro...
分类:其他好文   时间:2015-02-08 23:11:56    阅读次数:231
Codeforces 509F Progress Monitoring 给定dfs序求树的同构数 区间dp
题目链接:点击打开链接 ==说同构数有点不对。。反正就是这个意思,对于某个点的所有儿子,先访问标号小的,再访问标号大的。 dp[l][r]表示 区间[l,r] 构成一棵树的方法数。 对于一个区间[l, r] 构成一棵树,则点l一定是根,然后枚举2个区间相乘即可 dp[l][r] = dp[l+1][i] * dp[i+1][r] ( i = [l+1, r] ) 当然...
分类:其他好文   时间:2015-02-01 14:50:43    阅读次数:197
668条   上一页 1 ... 61 62 63 64 65 ... 67 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!