AT_arc160_f.[ARC160F] Count Sorted Arrays
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数 N 和 M 个整数对 (a1,b1),(a2,b2),…,(aM,bM)。每个 ai,bi 满足 1≤ai<bi≤N。
一开始,你拥有 (1,2,…,N) 的所有 N! 种排列。
你将进行 M 次操作。第 i 次操作如下:
- 对你拥有的所有 N! 个排列,进行如下处理:
- 比较排列中第 ai 个元素和第 bi 个元素的值,如果前者更大,则交换两者。
对于 1≤i≤M,记第 i 次操作结束后你拥有的排列中,已经按升序排列的序列的个数为 Si。
请输出 S1,S2,…,SM。
不过,输入中给出的并不是 (ai,bi),而是整数对 (xi,yi)。
(ai,bi) 的值需要通过 xi,yi,Si−1 按如下步骤计算得到(其中 S0=1):
- ci=((xi+Si−1)modN)+1。
- di=((yi+Si−1×2)modN)+1。(保证 ci=di)
- ai=min(ci,di)。
- bi=max(ci,di)。
输入格式
输入以如下格式从标准输入读入。
N M x1 y1 x2 y2 ⋯ xM yM
输出格式
输出 M 行。第 i 行输出 Si。
输入输出样例
输入#1
2 1 1 1
输出#1
2
输入#2
3 4 0 1 2 1 1 1 0 1
输出#2
2 4 4 6
输入#3
5 5 4 4 0 4 1 1 2 4 1 2
输出#3
2 4 4 8 16
说明/提示
数据范围
- 2≤N≤15
- 1≤M≤5×105
- 1≤ai<bi≤N
- 0≤xi,yi≤N−1
样例解释 1
一开始拥有的排列为 (1,2) 和 (2,1)。(a1,b1)=(1,2)。第 1 次操作后拥有的排列为 (1,2) 共 2 个。因此输出 2。
样例解释 2
(ai,bi) 依次为 (1,2),(2,3),(1,3),(1,2)。
样例解释 3
(ai,bi) 依次为 (1,2),(3,4),(1,5),(2,3),(4,5)。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?