随笔分类 -  其它 -- dsu on tree

摘要:"传送门" 题意: 给出一颗含有$n$个结点的无根树,之后给出一个长度为$m$的序列,每个元素在$[1,n]$之间。 现在序列中每个长度为偶数的区间的完成时间定义为树上最小配对方法中每对匹配点间距离的总和。 现在要求所有长度为偶数的区间的完成时间的和。 思路: 首先不妨将这颗树转化为有根树,最终不会 阅读全文
posted @ 2019-11-16 19:46 heyuhhh 阅读(284) 评论(0) 推荐(0) 编辑
摘要:"传送门" 题意: 给出一颗以$1$为根的有根树,树边带有一个字符($a$~$v$)的信息。 输出对于每个结点,其子树内最长的简单路径并且满足边上的字符能够组成回文串。 思路: 显然最终的答案分为两部分,子树内部的答案,经过当前根结点的答案。 第一种答案很好处理。类似于点分治,主要处理第二种答案。 阅读全文
posted @ 2019-11-15 17:31 heyuhhh 阅读(120) 评论(0) 推荐(0) 编辑
摘要:"传送门" 题意: 求子树众数。 思路: $dsu\ on\ tree$模板题,用一个桶记录即可。 感觉$dsu\ on\ tree$这个算法的涉及真是巧妙呀,保留重链的信息,不断暴力轻边,并且不断在子树内递归下去。又由于轻边数量不会超过$O(logn)$,所以总的时间复杂度控制在$O(nlogn) 阅读全文
posted @ 2019-11-14 21:24 heyuhhh 阅读(143) 评论(0) 推荐(0) 编辑
摘要:"传送门" 题意: 给出一个以$1$为根的有根树。之后有$m$个询问,每个询问为$v_i,h_i$,需要回答以$v_i$为根的子树中,深度为$h_i$的那些结点所代表的字符能否构成回文串。 思路: 静态子树询问,考虑$dsu\ on\ tree$。 深度可以提前处理出来。对一个子树处理时,用一个数组 阅读全文
posted @ 2019-11-14 21:20 heyuhhh 阅读(269) 评论(0) 推荐(0) 编辑
摘要:"传送门" 题意: 给出一颗以$1$为根的有根树,每个结点有个颜色$c_i$。 之后要回答$m$组询问,每组询问包含$v_i,k_i$,要回答以$v_i$为根的子树中,颜色出现次数不小于$k_i$的颜色的和。 思路: 这种静态子树上的问题,可以考虑dsu on tree。 由于要回答次数超过$k$的 阅读全文
posted @ 2019-11-14 21:13 heyuhhh 阅读(152) 评论(0) 推荐(0) 编辑