随笔分类 - 长链剖分
摘要:题目大意 给一棵树,点有点权,要求把所有节点分成若干个集合,使得同一集合中任意两点不存在祖先关系,且每一集合的最大点权的和最小 题解 考虑递归处理,假设当前节点的两棵子树都已处理好,那么合并两棵子树的方式为最大值和最大值合并,次大值和次大值合并 可以用长链剖分+优先队列来优化到O(nlogn) 代码
阅读全文
摘要:Description Input 第一行包含一个正整数N,表示X国的城市个数. 第二行包含两个正整数L和U,表示政策要求的第一期重建方案中修建道路数的上下限 接下来的N-1行描述重建小组的原有方案,每行三个正整数Ai,Bi,Vi分别表示道路(Ai,Bi),其价值为Vi 其中城市由1..N进行标号
阅读全文
摘要:题目大意 给出一棵有根树,要求对尽量多的节点染色,使得每个叶节点到根的路径上的染色节点数都相等 𝑛≤100000 题解 设f[i,j]表示以i为根的子树中每个叶节点到i路径上的染色点数恰好为j时的答案 用长链剖分优化转移就是O(n) 设f[i,j]表示以i为根的子树中每个叶节点到i路径上的染色点数
阅读全文