[Ynoi2016] 这是我自己的发明

如果没有换根,子树询问转化为区间询问。同 [SNOI2017] 一个简单的询问,由于询问在序列维上具有加性,将区间询问变为四个前缀询问后容斥。前缀询问使用莫队解决。

考虑到换根+子树的经典做法,分类讨论:

  • 如果 $u$ 为根,子树即整棵树。
  • 如果 $u$ 不在 $0$ 到根的链上,子树不变。
  • 否则 $u$ 的子树为整棵树除去 $u$ 包含根的那颗儿子子树。

第三种情况,要么把询问拆成前缀加后缀的形式,要么拆成整个序列减去某个区间的形式。

第一种方法会将一个区间询问拆成九个前缀询问,会被卡常;第二种方法可以一通推式子,对整棵树相关的答案进行预处理。这样就仍能在四个询问内解决。

[Ynoi2016] 这是我自己的发明

https://nalemy.top/2023/10/20/Luogu4689/

作者

nalemy

发布于

2023-10-20

更新于

2024-03-25

许可协议