QOJ.ac

QOJ

时间限制: 4.0 s 内存限制: 512 MB 总分: 100 交互

#12336. 中型强子对撞机

统计

Okarin Kyouma 是一位在欧洲核子研究组织 (CERN) 的中子强子对撞机 (MHC) 工作的杰出科学家。他目前的实验旨在揭示神秘的“命运石之门”效应。

MHC 由大量排列在一条直线上并沿线编号为 $1, 2, 3, \dots$ 的区段组成。粒子束按区段编号递增的顺序穿过各区段,光束穿过任何一个区段需要一秒钟。MHC 中可能存在两种类型的光束:电子束 $e^-$ 和正电子束 $e^+$。

最初,MHC 的第一个区段开始处有一个电子束。每个区段都受到“命运石之门”效应的影响。当粒子束穿过区段 $i > 1$ 的中心时,门会被触发,并在区段 $i - 1$ 的中心产生另一个光束。这个新光束要么与初始光束相同,要么是反转的(即 $e^+$ 变为 $e^-$,反之亦然)。新光束以与初始光束相同的方向和速度移动。光束的再造是相干的:在每一步中,要么所有区段产生相同的光束,要么所有区段产生反转的光束。

随后,产生的光束会与该区段中已有的光束(如果有)发生干涉。相同类型的光束会合并,而相反类型的光束会湮灭。形式上,我们可以说单个电子束的电荷为 $-1$,单个正电子束的电荷为 $+1$,而“空”光束的电荷为 $0$。电荷为 $\alpha$ 和 $\beta$ 的光束碰撞的结果将是一个电荷为 $\gamma = \alpha + \beta$ 的光束。以下是一些示例:

  • 单个电子束与单个正电子束碰撞留下一个“空”光束。
  • 两个单个正电子束变成一个总电荷为 $+2$ 的“双”正电子束。
  • 总电荷为 $+5$ 的正电子束与总电荷为 $-8$ 的电子束碰撞,变成一个总电荷为 $-3$ 的电子束。

实验的第 $N$ 秒即将结束。因此,“命运石之门”效应被触发了恰好 $N - 1$ 次,但初始电子束仍处于编号为 $N$ 的区段中。Okarin 想要测量穿过某些区段的光束的总电荷,但不幸的是,第 1 到 128 区段的测量工具无法触及。Okarin 急需这些数值,但他只有时间检查最多 10 个区段的测量结果。此外,他没有获得测量编号超过 512 的区段的权限,因此他只能询问编号在 129 到 512(含)之间的区段。

你需要帮助 Okarin 恢复第 1 到 128 区段的测量值。注意,区段中的探测器并不完美,只能显示 7 位数字和符号。因此,例如,如果探测器接近 $+10\,000\,000$,它将显示 $-9\,999\,999$。此后,$+10\,000\,001$ 将显示为 $-9\,999\,998$,依此类推。

交互

输入的第一行包含一个整数 $N$,表示实验开始后经过的秒数。所有实际测试用例中 $N = 10^7$。

读取 $N$ 后,你可以以“? $x$”的形式进行询问,其中整数 $x$ ($129 \le x \le 512$) 是你感兴趣的区段编号。作为回应,你将获得一个整数 $c$ ($-10^7 < c < 10^7$),它等于探测器显示的当前位于区段 $x$ 中的光束的总电荷。你最多可以进行 10 次询问。

当你准备好后,以“! $c_1 \ c_2 \ \dots \ c_{128}$”的形式在一行中输出答案,其中 $c_i$ 是第 $i$ 个区段中光束的总电荷。数字的格式应与探测器测量值相同(即 $-10^7 < c_i < 10^7$)。

样例

样例输入 1

4
1
1
-1
-1
0

样例输出 1

? 1
? 2
? 3
? 4
? 5
! 1 1 -1 -1

说明

本问题的示例中 $N = 4$,与实际的第一个测试用例不符。在示例中,“命运石之门”效应被触发了三次。假设其第一次和第二次触发产生相同的光束,而第三次触发产生反转的光束。那么:

  1. 最初,第一个区段中有一个电荷为 $-1$ 的光束。
  2. 1.5 秒后,初始光束穿过第二个区段的中心,并在第一个区段的中心被再造。此时,我们在第一和第二个区段的中心拥有电荷为 $-1$ 的光束。
  3. 2.5 秒后,初始光束穿过第三个区段的中心,而其副本穿过第二个区段的中心。两个光束在前面的区段中被同样地再造。然后,第二个区段中初始光束的第一个副本与新副本发生干涉。此后,我们在第一、第二和第三个区段的中心分别拥有总电荷为 $-1, -2, -1$ 的光束。
  4. 3.5 秒后,光束再次穿过区段中心。但这一次,它们以反转的符号被再造。在所有碰撞之后,我们将拥有第一个区段电荷为 $+1$ 的光束,第二个区段电荷为 $+1$ 的光束,第三个区段电荷为 $-1$ 的光束,以及第四个区段电荷为 $-1$ 的光束。

在示例中,解法询问了第 1 到 5 区段的电荷,然后输出了第 1 到 4 区段的电荷。请记住,在实际测试用例中,解法只能询问第 129 到 512 区段,并且必须随后输出第 1 到 128 区段的测量值。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#236EditorialOpen题解jiangly2025-12-13 00:24:12View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.