摘要: 题目大意: 给你一棵n个结点的带边权的树,问长度恰好为k的路径至少经过多少条边? 思路: 重心剖分。 对于每次剖分出来的子树,存一下从根出发的长度为i的路径至少经过几条边f[i]。 注意要保证经过根结点,所以一次整棵树DFS结束后才能更新f。 重置数组f的时候,不能从i到k重置,而应该重新遍历整棵树 阅读全文
posted @ 2018-01-04 16:58 skylee03 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你一个长度为n的数列f,f中共有m种不同的数,每种数都有一个权值w[i]。 你可以选定一个f中的区间,定义区间的权值为这一区间只出现一次的数的权值和。 问权值最大的区间的权值是多少? 思路: 对于f中的每一个位置i,找到下一个和它相同数字的位置next[i]。 从左到右枚举区间左端点, 阅读全文
posted @ 2018-01-04 12:36 skylee03 阅读(165) 评论(0) 推荐(0) 编辑