摘要: • 给出一棵树,每个点有初始的颜色,支持两种操作• 将一个点的子树染成一种给定颜色• 问一个点的子树里有几种不同的颜色 • 𝑛, 𝑚 ≤ 10^6 本题可以做到一个logn 考虑每个颜色的虚树 把每个点的权值+1,dfs序相邻的LCA权值-1 那么,对于每个点的子树,假设有m个点,那么有m-1个 阅读全文
posted @ 2019-02-15 18:01 *Miracle* 阅读(493) 评论(0) 推荐(0) 编辑
摘要: [HNOI2014]世界树 建立虚树 子树外的点的处理很麻烦 考虑怎么找 首先对虚树上的点找到控制它的点的编号 f[i],g[i]往里,往外的最近距离,类似换根,还要记录pr,bc前兄弟后兄弟的前缀f值,还要记录方案 发现对于虚树的边,只有两头的点才回“争夺”边的控制权和边下边一堆子树的控制权 对于 阅读全文
posted @ 2019-02-15 14:57 *Miracle* 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 不经过重点,考虑点双 点双,考虑圆方树 两个点s,t,中间路径上,所有点双里的点都可以经过,特别地,s,t作为割点的时候,不能往后走,也就是不能经过身后的方点 也就是,(s,t)经过树上路径上的所有圆点和方点 把方点权值设为点双大小-2,圆点权值设为1,(s,t)路径上的权值就是c的选择方案数(不算 阅读全文
posted @ 2019-02-15 10:32 *Miracle* 阅读(274) 评论(0) 推荐(0) 编辑