![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
ShawnBox
这个作者很懒,什么都没留下…
展开
-
【思维题】【生成树计数】BZOJ 2467 —— 生成树
题目传送门 思维题? 利用破圈算法的思想,想要将每一个环都删去一条边.首先考虑周围的五边形,每一个五边形都是一个环所以要删掉一条边,注意.观察剩下的图后发现有两种情况. 中心多边形和周围五边形剩下的边组成了一个环 周围五边形连起来构成了一个环 不论哪种情况,我们都还需要删除一条边.对于情况1,删除一条中心多边形上的边.对于情况2,有些特殊.之所以能够达到情况2,是五边形删边的时都删除了与中心多...原创 2018-10-11 10:37:21 · 270 阅读 · 0 评论 -
【思维题】【树】【哈密顿路径】AGC018 D —— Tree and Hamilton Path
题目传送门 想到了按边算贡献,然而却偏向了在直径上鬼畜的道路. 通过观察,可以发现如果多次经过重心,答案应该是最优的.因为这样使得除了某一条特殊的边之外,所有的边都会被计算两次.而这条特殊的边有两种情况,首先是只有一个重心,那么我们选择边权最小的且其中一个端点为重心的边;另一种情况是具有两个重心,选择两个重心之间的边即可. 此处复习一下求重心的方法,首先任选一个节点为根,统计出每一个节点对应子树的...原创 2018-10-07 21:41:37 · 398 阅读 · 0 评论 -
【思维题】【欧拉回路】AGC018 D —— Two Trees
题目传送门 持续看官方题解,顺便复习一下欧拉回路的求法.刚刚T过几次 题目中要求的子树之和的绝对值为1,也就意味mod 2为1.那么对于每个节点,如果它的亲儿子数为偶数,它的权值就应该为奇数,反之亦然. 通过上面的性质我们可以推出每个节点最终答案的奇偶性,从而判断是否有解.当且仅当两棵树中,同一个节点的答案奇偶性相同时,才有解. 现在只是确定了答案的奇偶性,接下来就需要运用欧拉回路求得具体的值了....原创 2018-10-08 20:07:35 · 294 阅读 · 0 评论 -
【树的点分治】【ST表】BZOJ 3784 —— 树上的路径
题目传送门(权限题警告) 总有一个序列,能够满足题目中所需求的一切性质。—— 鲁迅 (没说过) 这里引入一个叫做点分治序列的东西,它通过下列步骤生成. 1.找到当前树的重心,将重心加入序列. 2.从重心出发,dfs遍历整个树,将遍历到的点加入序列. 3.将与重心相连的边断掉,生成若干子树,对于每一个子树重复上述过程. 显然,点分治序列不是唯一的. 例如下图的一个点分治序列是4 7&n...原创 2018-10-28 15:13:13 · 303 阅读 · 0 评论