P10565 [ICPC 2024 Xi'an I] Chained Lights

题目描述

你有 $n$ 盏灯排成一行。最初,它们都是关闭的。 你将逐个按下这 $n$ 盏灯。当你按下灯 $i$ 时,灯 $i$ 将切换其状态,这意味着如果它是关闭的,它将打开;如果它是打开的,它将关闭。然后对于每个满足 $i|j, i < j \le n$ 的 $j$,按下灯 $j$ 一次。 例如,如果 $n=4$,当你按下灯 $1$ 时,灯 $1$ 将打开,然后你将按下灯 $2,3,4$。由于你按下了灯 $2$,灯 $2$ 将打开,你将按下灯 $4$,这将导致灯 $4$ 打开。经过所有操作后,灯 $1,2,3$ 将打开,而灯 $4$ 仍然关闭。 你将逐个按下这 $n$ 盏灯并进行上述操作。经过所有操作后,你想知道灯 $k$ 是开着还是关着的。 你也可以使用以下代码来理解问题的含义: ```cpp void press(int x) { light[x]^=1; for (int y=x+x; y

输入格式

输出格式

说明/提示

(由 ChatGPT 4o 翻译)