题意:交互题,有一个长度为n(偶数)的二进制串,你需要猜不超过n+500次猜到它.如果你猜的串与原串相同的位数为n,那么会返回n,如果为n/2,那么会返回n/2,否则都会返回零. 先random,直到出现一个n/2为止,将此串视为a串.由于正态分布,肯定能在500次内查到. 然后枚举a的所有相邻元素,将相邻的元素取反后进行询问,如果返回n/2,说明相邻的这两位有一个是对的,一个是错的:如果返回不是n/2,说明这两位要么都对,要么都错. 于是用2-sat的思想,将每个元素拆点,由于是双向边,所以直…