快帮帮我plzplzplz
by allqpsi @ 2023-07-11 09:14:07
![](https://cdn.luogu.com.cn/upload/image_hosting/zvovkcv9.png)
输入
```
7
2 4 0
3 0
6 7 0
5 0
6 7 0
0
0
```
答案
```
0
0
1
0
1
0
0
```
您的输出
```
0
0
1
0
1
1
0
```
和我犯的错误简直一模一样qwq,找了老半天bug,发现我们实现思路不对,节点 $u$ 的直接支配点应该是在**支配树**上 $pre(u)$ 的公共祖先,而不是在 $dfs$ 树上的公共祖先,上面是一个hack数据,真正的支配树应该长这样:
![](https://cdn.luogu.com.cn/upload/image_hosting/v3ccj8y4.png)
然而在 $dfs$ 树上找到的 $1$ 的前驱的 $LCA$ 是 $6$ ,然而在**支配树**上找到的 $1$ 的前驱的 $LCA$ 应该是 $0$ 。 所以,不能 $dfs$ 求直接支配点,而应该根据**拓扑序**依次对每个节点找直接支配点,边建立支配树边查询 $LCA$。
by 阳金里hhhhh @ 2023-07-25 21:13:28
@[allqpsi](/user/380406)
by 阳金里hhhhh @ 2023-07-26 15:16:06
@[阳金里hhhhh](/user/488411) 谢谢大佬
by allqpsi @ 2023-07-31 08:01:48
@[阳金里hhhhh](/user/488411) 感谢你的回复,麻烦再贴一下代码
by allqpsi @ 2023-07-31 11:30:50
@[allqpsi](/user/380406)
[我的LCA求DAG支配树代码](https://www.luogu.com.cn/paste/pbywr5mb)
by 阳金里hhhhh @ 2023-07-31 11:42:54