题解:P12797 [NERC 2022] Hot and Cold
首先考虑如果我们知道每个单词是什么含义,这时该怎么做。
先从一维的情况开始考虑,不难发现可以二分。
在当前区域内,每次取中点和中点右面的点,如果得到的回复是“Closer”说明在中点右面,反之则在中点左面。
一个维度的二分次数为
这样做是对的,但超过了
取平面中点,再取中点上方的点,如果回复“Closer”说明宝藏在中点上方,反之在中点下方。然后取中点右上方的点,如果回复“Closer”说明在中点右侧,反之则在中点左侧。
这样做只需要取
现在我们并不知道每个单词是什么含义,我们考虑如何知道。
带感叹号的一定是“Found!”,第一个出现的一定是“Not Found”。我们只需要区分“Closer”“Further”和“At the same distance”即可。
取
然后我们再取回
如果相同的话,说明这个回复是“At the same distance”,那么宝藏一定在