题目链接 http://codeforces.com/contest/1324/problem/F 题意 对树中每一个点$v$,求包含$v$点的子树的最大$Cnt白 Cnt黑$ 题解 首先以点$1$作为树根,树形$dp$求出$dp[1]$,并记为答案$ans[1]$。 再换做以$1$的儿子$t$作为 ...
分类:
其他好文 时间:
2020-03-13 12:47:12
阅读次数:
45
"Link" 实际上我们是维护了两个森林。 合并两个点时,我们考虑新建一个点,用这个新建的点储存信息,然后把需要合并的两个点所在树的根连到这个点上。 如果仅有大学的操作,我们可以每次给修改的树的根打一个,那么询问的就是一个点到树根的路径上的权值和,这个可以用带权并查集实现。 现在加上了军队的操作,如 ...
分类:
其他好文 时间:
2020-03-09 21:12:43
阅读次数:
51
挂载(mounting)是指由操作系统使一个存储设备(诸如硬盘、CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。 Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套 ...
分类:
其他好文 时间:
2020-03-09 18:24:31
阅读次数:
148
JAVA递归实现线索化二叉树 基础理论 首先,二叉树递归遍历分为先序遍历、中序遍历和后序遍历。 先序遍历为:根节点+左子树+右子树 中序遍历为:左子树+根节点+右子树 后序遍历为:左子树+右子树+根节点 (只要记住根节点在哪里就是什么遍历,且都是先左再右) 线索化 现在有这么一棵二叉树,它的数据结构 ...
分类:
编程语言 时间:
2020-03-05 00:57:55
阅读次数:
88
题目描述 lre有一棵 $n+1$ 个节点的树, $0$ 号点是树根,第 $i$ 个点的父亲是 $a_i$ 。 每个点上都可以放一个弹珠或不放。之后每一回合,lre都会把所有弹珠移动到它们所在的节点的父亲节点。 若一个节点上有大于 $1$ 个弹珠,它们会一起被lre打爆消失。原来在 $0$ 号节点上 ...
分类:
其他好文 时间:
2020-02-24 18:48:22
阅读次数:
59
【题目大意】 给出n个结点和n-1条边,问它们能否形成一棵n个结点的树,如果能,从中选出结点作为树根,使整棵树的高度最大。输出所有满足要求的可以作为树根的结点。 【思路】 方法一:模拟。 1 连通、边数为n-1的图一定是一棵树。因此先判断连通图个数(用DFS遍历图,从而计算连通图个数),等于1则能形 ...
分类:
其他好文 时间:
2020-02-24 16:49:22
阅读次数:
55
有点特定的知识点,不过还是需要补的 模板: int ls[N],rs[N]; int val[N],dis[N],fa[N]; //将根为x,y的两个堆合并 返回合并后的根 int merge(int x,int y) { if(!x || !y) return x+y; //此为小根堆 记得对于p ...
分类:
其他好文 时间:
2020-02-22 09:21:52
阅读次数:
64
Tree 一颗二叉树,根节点为 $1$,允许你砍掉任意子树,保留根节点所在的连通块,然后要求你设置每个点的权值,要求每个点权值不小于它的两个儿子的权值之和,且根节点权值为 $x$ 的方案数,连通块不一样或者点的权值不一样都算不同方案。 $1≤n≤10^5 , 0≤x≤10^{18}$ 题解 http ...
分类:
其他好文 时间:
2020-02-19 10:26:22
阅读次数:
106
一、树的定义与性质 定义 1. 结点(node):树枝分叉处、树叶、树根 2. 根结点(root):树根 3. 叶子结点(leaf):叶子结点 4. 边(edge):茎干和树枝 5. 子结点(child) 6. 子树(subtree) 性质 1. 树可以没有结点,把这种情况下称为空树(empty t ...
分类:
其他好文 时间:
2020-02-14 16:08:32
阅读次数:
60
树上的动态规划 对于一棵子树内的守卫,也可以覆盖子树外的节点,需要加一维来记录子树与外界的关系。 g[u][j] 表示覆盖完子树并且还可以覆盖离子树根节点距离不大于j的点的最小花费 f[u][j] 表示子树内只保证距离子树根节点距离不小于j的节点被覆盖的最小花费 讨论树的子树对于树的关系来转移: u ...
分类:
其他好文 时间:
2020-02-14 14:39:12
阅读次数:
54