树上的问题
文章平均质量分 79
pizzaaaaa
这个作者很懒,什么都没留下…
展开
-
HDU 4809 Cirno’s Present
非常值得一做的树形dp.题意:给定一棵树(n<=300),你可以给每个节点等概率地染成A,B,C三种颜色之一,对于树上的一条边,若其两个端点的颜色不一样,则断开这条边.最后对于一个特定的颜色,X为点数为奇数的联通块个数,Y是点数为偶数的联通块个数,其得分为max(0,X-Y).问最后得分的期望乘上3^n mod 1e9+7的值.解法:注意到颜色的对称性,我们只需要求出每个颜色的期望再乘上3原创 2014-11-03 08:20:06 · 1024 阅读 · 0 评论 -
网络教室 树上不同直径的数目
先预处理出一条树的直径,注意直径上中点的处理原创 2014-11-03 22:29:33 · 491 阅读 · 0 评论 -
HDU 4812 D Tree
点分治,乘法逆元.题意:给定一棵树(n<=10^5),每个节点都有权值.问是否存在一条从u到v的路径,使得路径上的点的乘积mod上(1e6+3)为给定的k.解法:树上的点分治,选取一点作为重心,则在当前的树中的答案可能有以下几种情况:1.u,v在同一棵子树中.2.u,v在不同的子树中(u,v一定经过重心).3.u,v中有一点是重心.第一种情况可以递归解决,2,3种情况需要记原创 2014-11-02 22:30:16 · 394 阅读 · 0 评论