luogu#P9721. [EC Final 2022] Inversion
[EC Final 2022] Inversion
题目描述
There is a hidden permutation of . You want to find it by asking the parity of the number of inversions of .
You can query in the format , and the interactor will respond you $\left( \sum_{l\leq i < j\leq r} [p_i > p_j]\right) \bmod 2$. is when and when .>
输入格式
Firstly, you should read the integer ().
After that, you can make no more than queries. To make a query, output ``'' () on a separate line, then you should read the response from standard input.
To give your answer, print ``'' on a separate line. The output of the answer is \textbf{not} counted towards the limit of queries.
After that, your program should terminate.
After printing a query, do not forget to output end of line and flush the output. To do this, use or in C++, in Java, in Pascal, or in Python.
It is guaranteed that the permutation is fixed in advance.
题目大意
【题目描述】
这是一个交互式问题。
有一个隐藏的排列 ,其中包含 的排列。你想通过询问 的逆序对数量的奇偶性来找到它。
你可以以 的格式进行查询,交互器会回答你 $\left( \sum_{l\leq i < j\leq r} [p_i > p_j]\right) \bmod 2$。其中 在 时为 ,在 时为 。>
首先,你需要读入整数 ()。
之后,你可以进行不超过 次查询。要进行查询,输出 ()在单独的一行上,然后你应该从标准输入中读取响应。
要给出你的答案,将 打印在单独的一行上。答案的输出 计入 次查询的限制。
之后,你的程序应该终止。
在打印查询后,不要忘记输出换行并刷新输出。要做到这一点,在 C++ 中使用 或 ,在 Java 中使用 ,在 Pascal 中使用 ,或者在 Python 中使用 。
保证排列提前固定。
翻译来自于:ChatGPT
3
0
0
1
? 1 2
? 1 3
? 2 3
! 2 3 1