AGC010F

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\),则对手可利用上述策略获胜

代码比较水 不写了黑题就这么水了

posted @ 2020-10-17 20:05  INFP  阅读(90)  评论(0编辑  收藏  举报