师大附中省队互测.pptxVIP

  • 0
  • 0
  • 约小于1千字
  • 约 18页
  • 2022-07-07 发布于北京
  • 举报
树上gcd;题意;算法一;算法二;算法三;算法四;额补充一下;再废话几句;继续分类讨论QAQ;分类讨论QAQ;但我们还需要知道 c 的子树中有多少点相对于 ai 的高度是 d 的倍数,与前者直接相乘计入答案,也就是说我们要在 c 子树的 cnt 数组中查询下标间隔为 d 的子序列中的元素之和(0d=hi)。注意到间隔为 d 时,至多只有 d 种这样的子序列,我们对重复查询进行记忆化。于是对于 d√H,查询的复杂度不超过 d?H/d=H,总共是 √H?H ;对于 d√H,单次查询的复杂度为 H/d√H。;这里可能还要考虑 u 在 c 的子树内,v = ai。由于ai到 c 的距离是从1开始的一段区间,对于ans[k](0k=H+dis(ai,c))的贡献是 cnt 的一段区间和,随着 k 的增长这个区间左右端点单调递增,所以复杂度是O(n)。 所以一层分治的复杂度是 O(n√n)的。根据主定理,总复杂度就是O(n√n),可以通过所有测试点获得 100 分。 代码140+行;VFK大大的做法;蒟蒻的收获;还有些题外话;;拖时间的东西;题解

文档评论(0)

1亿VIP精品文档

相关文档