DFS序
DT2131
Rage, rage against the dying of the light.Do not go gentle into that good night.
展开
-
CodeForces - 383C Propagating tree (DFS序+线段树)
题意: n个结点的树,以1为根,给出结点的权值。有两种操作: 1.从某个结点开始使其权值 + v ,并将他的儿子结点 - v ,再将他的儿子的儿子结点 + v,...............,如此操作到叶子结点。 2.查询某点的值 思路: 显然,操作一是指 对深度奇偶性一致的子结点做 + ,不一致的做 - 。 所以我们原创 2017-08-12 10:31:50 · 383 阅读 · 0 评论 -
HDU 6203 ping ping ping (LCA+DFS序)
思路参考:http://blog.csdn.net/DorMOUSENone/article/details/77929604 题意: n+1 个点 n 条边的树(点标号 0 ~ n),有若干个点无法通行,导致 p 组 U V 无法连通。问无法通行的点最少有多少个。 思路:原创 2017-09-11 23:34:02 · 590 阅读 · 0 评论 -
HDU 6191 Query on A Tree ( DFS序 + 可持久化字典树 )
题意: 给出一颗带点权树,问在某点的子树中与 X 的最大异或值是多少? 思路: DFS序后,转化为区间与 X 异或求最大,可持久化字典树思路同主席树,每次更新一条链即可。 代码: #include using namespace std; const int MAXN=1e5+7; int two[35]; int a[MAXN],fa[MAXN],n,m,in[MAXN],out[M原创 2017-09-14 08:13:50 · 348 阅读 · 0 评论