题意:给出一棵有根树,树上每个点、每条边都有一个权值。 现在给出“控制”的定义:对一个点u,设点v在其子树上,且dis(u,v)≤av,则称u控制v。 要求求出每个点控制了多少个点 n (1?≤?n?≤?2·105). (1?≤?ai?≤?109) 1?≤?pi?≤?n, 1?≤?wi?≤?109) ...
分类:
其他好文 时间:
2016-12-03 18:24:29
阅读次数:
188
4551: [Tjoi2016&Heoi2016]树 Description 在2016年,佳媛姐姐刚刚学习了树,非常开心。现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个 结点,可以 ...
分类:
其他好文 时间:
2016-11-23 06:21:03
阅读次数:
200
最近公共祖先 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。 ...
分类:
其他好文 时间:
2016-11-17 14:04:35
阅读次数:
141
http://www.lydsy.com/JudgeOnline/problem.php?id=4551 题目描述 给定一棵有根树(根为 1),有以下两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。)2. 询问操作:询问某... ...
分类:
其他好文 时间:
2016-11-05 23:30:11
阅读次数:
201
题意:给出一颗有根树的构造和一开始每个点的颜色 有两种操作 1 : 给定点的子树群体涂色 2 : 求给定点的子树中有多少种颜色 比较容易想到dfs序+线段树去做 dfs序是很久以前看的bilibili上电子科技大学发的视频学习的 将一颗树通过dfs编号的方式 使每个点的子树的编号连在一起作为相连的区 ...
分类:
其他好文 时间:
2016-11-04 14:18:44
阅读次数:
257
试题描述 已知一棵n个节点的有根树。有m个询问。每个询问给出了一对节点的编号x和y,询问x与y的祖孙关系。 输入 输入第一行包括一个整数n表示节点个数。接下来n行每行一对整数对a和b表示a和b之间有连边。如果b是-1,那么a就是树的根。第n+2行是一个整数m表示询问个数。接下来m行,每行两个正整数x ...
分类:
编程语言 时间:
2016-10-24 20:09:48
阅读次数:
389
树的经典问题和方法 《算法竞赛入门经典(第2版)》392页 欧拉序列。对有根树t进行dfs(深度优先遍历),无论是递归还是回溯,每次到达一个结点时都将深度记录下来,可以得到一个长度为2n-1的序列,称为t的欧拉序列f(类似于欧拉回路)。 为了方便,把结点k在欧拉序列中第一次出现的序号记为pos(k) ...
分类:
其他好文 时间:
2016-10-23 17:47:51
阅读次数:
154
有关概念: 最近公共祖先(LCA,Lowest Common Ancestors):对于有根树T的两个结点u、v,最近公共祖先表示u和v的深度最大的共同祖先。 树上倍增是求LCA的在线算法(对于每一个询问输入后即计算) 思路: fa[i][j]表示编号为j的结点从下往上的第2i个祖先 即fa[0][ ...
分类:
其他好文 时间:
2016-10-17 06:54:48
阅读次数:
185
转载自:Click Here LCA问题(Lowest Common Ancestors,最近公共祖先问题),是指给定一棵有根树T,给出若干个查询LCA(u, v)(通常查询数量较大),每次求树T中两个顶点u和v的最近公共祖先,即找一个节点,同时是u和v的祖先,并且深度尽可能大(尽可能远离树根)。L ...
分类:
编程语言 时间:
2016-10-14 23:36:45
阅读次数:
258
题意:若干微博账户形成了一个转发树(即一个有根树)。每个账户有自己的价值,每个账户也有自己的态度(赞或蜡烛)。如果一个账户的态度是“赞”,它的价值就会被加到“赞”的一边,反之亦然。Edward可以从“赞”的一边拿出X 的价值去翻转一个账户,即把它的态度换到相反的一边。但是Edward 发现,有的账户 ...
分类:
其他好文 时间:
2016-10-03 19:00:01
阅读次数:
162