$ZJOI$里面的小清新思维题,思路参考了一些大神的博客
首先每个节点死亡的条件就是指向它的所有食物都已经死亡
那么我们可以反向建图,每个点指向它的食物
既然保证这个图没有环,那么我们显然可以拓扑排序
然后我们继续思考,不难发现每个节点死亡的条件等价于它所有食物的$LCA$死亡
因为它所有食物的$LCA$已经死亡,所以它的所有食物也都会死亡
最后求一下所有子树大小的前缀和就行,这里记得要减去自身
1 |
|
Lonely Kid Hides in Heart
$ZJOI$里面的小清新思维题,思路参考了一些大神的博客
首先每个节点死亡的条件就是指向它的所有食物都已经死亡
那么我们可以反向建图,每个点指向它的食物
既然保证这个图没有环,那么我们显然可以拓扑排序
然后我们继续思考,不难发现每个节点死亡的条件等价于它所有食物的$LCA$死亡
因为它所有食物的$LCA$已经死亡,所以它的所有食物也都会死亡
最后求一下所有子树大小的前缀和就行,这里记得要减去自身
1 | #include<bits/stdc++.h> |