随笔分类 -  树上问题:Dsu on Tree

摘要:题目大意: 一颗树,想要在树链上添加同一物品,问最后每个点上哪个物品最多。 解题思路: 1.线段树合并 假如说物品数量少到可以暴力添加,且树点极少,我们怎么做。 首先在一个树节点上标记出哪些物品有多少,寻找道路上的节点暴力添加。 而如果节点比较多,我们使用树上差分u+1,v+1,lca-1,fa[l 阅读全文
posted @ 2018-09-04 23:07 Unstoppable728 阅读(319) 评论(0) 推荐(0)
摘要:题目大意: 给定一个以1为根的树,每条路径上都有一个字符(a~v共22个)询问对于每一个子树内最长的路径上字母经排序后可以形成回文串的最长路径多长 解题思路: 假定给你一个字符串,如何判定其经打乱能否形成回文串,那就是说所有字符中最多只有一个能出现奇数次,22个字符,可以用2进制表示每个字符出现的次 阅读全文
posted @ 2018-08-31 15:31 Unstoppable728 阅读(229) 评论(0) 推荐(0)
摘要:题目大意: 就是给你一棵以1为根的树,询问每一个节点的子树内节点数最多的深度(相对于这个子树根而言)若有多解,输出最小的。 解题思路: 这道题用树链剖分,两种思路: 1.树上DSU 首先想一下最暴力的算法:统计子树每个深度节点的个数(桶)相当于以每个节点为根遍历子树搜索一遍答案,这样做时间复杂度是O 阅读全文
posted @ 2018-08-30 15:10 Unstoppable728 阅读(319) 评论(0) 推荐(0)