摘要: 题目链接 思路 观察题目中的式子,可以发现前两项是定值。所以只需要求出最后一项就行了。 然后题目就转化为了求字符串中所有后缀的$lcp$长度之和。 可以想到用后缀数组。在后缀数组上两个后缀的$lcp$长度表现为两个后缀排名之间的$height$的最小值。 所以现在问题就又转化为了在$height$数 阅读全文
posted @ 2019-01-30 21:15 wxyww 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意 其实转化之后的题意就是求出树上有多少条路径长度是3的倍数。求答案的时候只要将这个数字除以总路径数量就行了。 思路 考虑点分治。对于当前子树,分别求出出树中每个点到根的路径长度对$3$取余后为$0,1,2$的个数。然后就可以通过$0 0,1 2$组合的方式,统计出答案。 然后删除当前点 阅读全文
posted @ 2019-01-30 12:15 wxyww 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 思想 点分治的思想其实就是在树上进行分治。从而降低复杂度。 每次找到一个点,对其进行处理,然后删除这个点,对剩下的子树进行递归处理。 因为重心的每个儿子的大小不超过$\frac{n}{2}$,所以如果这个点是重心的话,就可保证递归层数最多为log层。 实现 在弄懂点分治思想的情况下,点分治的代码还是 阅读全文
posted @ 2019-01-30 10:01 wxyww 阅读(139) 评论(0) 推荐(0) 编辑