![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
文章平均质量分 62
pigpigwin
这个作者很懒,什么都没留下…
展开
-
牛客多校7 F xay loves trees
题目链接 题意:给定两颗以1为根n个点的树,问你最大的集合S,满足S中的任意两个元素在第一颗树上必有一个点是另一个点的祖先,且要是连续的一些点,在第二颗树上都不是对方的祖先。 1<=n<=3e5 第一个条件可以看出来是一条链,对于第二个条件如果选了一个点,那么其子树一定不能选。所以我们可以dfs序处理一下,则选了一个点u我们就将其在线段树上[in[u],out[u]][in[u],out[u]][in[u],out[u]]覆盖,如果有重复覆盖的那么一定是两者只能取其一,可以遍历第一颗树然后用线段原创 2021-08-11 16:50:13 · 109 阅读 · 0 评论 -
AtCoder Regular Contest 117
D - Miracle Tree 树的直径+思维 题目链接 题意:给你一颗n个点的树,让你构造每个点的权值,满足以下条件 1.结点权值a[i]>=1, 2.dis(A,B)<=|a[A]-A[B]|,即结点权值之差大于等于A,B之间的距离 3.结点最大值尽可能小 数据范围: 2≤n≤200000 如果只存在一条链,那么答案即为n。 如果有多条链,那么如果我们处理好了一条链x,那么下一条链y的开头结点的权值一定为x链的最后一个点的权值+y的开头结点与x最后一个结点的长度(即回溯的长度)。我们要让回原创 2021-04-27 23:15:46 · 97 阅读 · 0 评论