AGC010F
AGC010F
给定一棵树,大小为 \(n\),点 \(i\) 有点权 \(a_i\),初始在某个点上有一个石头。
每次可以选择石头进行移动,然后给当前点的点权 \(-1\),如果点权为 \(-1\) 那么就 lose。
问先手后手谁 win 谁 lose
对每个点计算一次以其为起点谁 win 谁 loes,单次复杂度要求 \(\mathcal O(n)\)
\(n\le 3000\)
Solution
两个点的时候的胜负非常好判断。
即 \(A_i> A_j\),此时先手必胜。
考虑菊花图,先手必胜一定是 \(A_i>\min(A_j)\)
考虑子树如果先手必胜,那么后手一定会跑出来。
如果后手必胜,那么先手也出不去。
所以条件是 \(A_i>\min(A_j[j~\textrm{will~lose}])\)