[题解] [AGC005E] Sugigma_ The Showdown
posted on 2024-12-19 11:15:40 | under | source
高祖伟模拟赛警察抓小偷那题的原题。
题意:小偷和警察分别在黑白两棵树上,小偷在 \(x\)、警察在 \(y\)。小偷先手,二人轮流移动,可以走一步或不走,警察抓到小偷(即编号相同)就结束。小偷想尽可能多走,警察反之,请求出游戏局数或报告无法结束。
首先,假如黑树上存在边 \((u,v)\) 满足白树上 \(u\to v\) 距离 \(\ge 3\),那么小偷走到边的一端且下一步不会被警察抓时,就可以左右横跳使得游戏无法结束。记这种点为逃生点。
现在考虑小偷能否走到一个逃生点 \(p\),显然可以令小偷的逃生路径上除 \(p\) 外不存在其它逃生点。
于是小偷每一步只能在黑树上至多移动 \(2\) 步。不妨黑树以 \(y\) 为根,那么就有很好的性质:小偷无法跳出 \(y\) 子树,因为跳出去就马上被抓了。
所以警察必然每次向 \(x\) 子树方向移动一步。记小偷逃生路径为 \(a_1,a_2\dots a_m\),其中 \(a_1=x\),\(a_m=p\),则每个 \(i\) 必须满足白树 \(y\) 到 \(a_i\) 的路径长度小于 \(i\),否则一定被抓。
显然,小偷不走重复点,所以可以定义合法点:满足黑树上 \(x\) 到它的距离小于白树上 \(y\) 到它的距离。小偷每次只能走合法点,假如可以走到一个逃生点就赢了。否则,选择一个可以走到的、距离 \(x\) 最远的点静静等待被抓。

浙公网安备 33010602011771号