CF1491F Magnets

首先 \(n_1n_2+s_1s_2-n_1s_2-n_2s_1=(n_1-s_1)(n_2-s_2)\)

这样可以发现,如果知道任意一块有磁性的磁铁,可以将它和其他磁铁询问得到另一块磁铁的状态 (如果为 \(\pm 1\) 则有磁性,否则没磁性)

我们并不好得到第一块磁铁的位置,但我们可以得到第二块磁铁的位置,方法如下:

不断询问 \(\{1,...i-1\}\)\(\{i\}\) , 第一个不为 \(0\) 的回答便是第二块磁铁的位置

找到 \(i\) 后向后扫,并向前二分找到第一块有磁性的磁铁

总询问数 \(n-1+\lceil \log_2 n \rceil \le n+\lfloor \log_2 n \rfloor\) , 满足要求

posted @ 2022-10-27 22:57  chihik  阅读(12)  评论(0编辑  收藏  举报