AGC010F
给出一棵(N)个节点的树,每个节点有(Ai)个石头
(Takahashi)先选择一个节点v放置一个棋子,然后(Takahashi)和(Aoki)轮流操作((Takahashi)先)
从棋子所在节点移走一个石头
将棋子移到与当前节点相邻的节点
不能进行操作者输(当棋子所在节点没有石头的时候不能进行操作),求所有能够使(Takahashi)赢的节点(v)
最优解一定是往比当前棋子节点权值小的地方移动;若没有,则该节点为先手的必败点。
证明:假设当前棋子节点为(u),可移动的点为(v_1,v_2),其中(w_{v1}<w_u<w_{v2}),若向(w_2)移动,对手可再次回(u),先手败,因此最优向(v_1)移动,若不存在(v)使得(w_v<w_u),则对手可利用上述策略获胜
代码比较水 不写了黑题就这么水了