#P15352. [COCI 2025/2026 #4] 魔术 / Magija

    ID: 17316 远端评测题 1000ms 32MiB 尝试: 0 已通过: 0 显示难度提高+/省选− 上传者: 标签>倍增并查集COCI(克罗地亚)2026

[COCI 2025/2026 #4] 魔术 / Magija

背景

请注意本题非同寻常的内存限制。

题目描述

考虑一个 1∼N1\sim N 的排列 p1∼pNp_1\sim p_N。定义一次操作 (l,r,len)(l,r,\mathrm{len}) 表示:

  • 对于 i=0,…,len−1i=0,\ldots,\mathrm{len}-1,交换 pl+ip_{l+i} 与 pr+ip_{r+i}。

这里保证 [l,l+len−1][l,l+\mathrm{len}-1] 与 [r,r+len−1][r,r+\mathrm{len}-1] 不交。

有一个操作池,初始为空。

有 QQ 个事件:

  • 1\texttt{1} xx:对排列 [1,2,…,N][1,2,\ldots,N],进行任意次(可以不进行)操作池中的操作,求出操作完后 xx 最终下标的最小值和最大值。
    • 一个操作可以被使用多次;
    • 操作的顺序不限;
    • 不必使用操作池中的所有操作。
  • 2\texttt{2} ll rr len\mathrm{len}:向操作池中加入一个操作 (l,r,len)(l,r,\mathrm{len})。

回答每个询问。

输入格式

第一行,两个正整数 N,QN,Q(1≤N,Q≤2×1051\le N,Q\le 2\times 10^5)。

接下来 QQ 行,每行两个(或四个)正整数,形如 1\texttt{1} xx 或 2\texttt{2} ll rr len\mathrm{len},描述一个事件。其中:

  • 1≤x≤N1\le x\le N;
  • 1≤len≤N1\le \mathrm{len}\le N,l+len−1<rl+\mathrm{len}-1\lt r,r+len−1≤Nr+\mathrm{len}-1\le N。

输出格式

对于每个事件 1\texttt{1},输出一行两个正整数,分别表示最终得到下标的最小值、最大值。

5 3
2 3 4 1
1 5
1 3
5 5
3 4
9 2
2 1 7 2
1 2
2 8

提示

样例解释

样例二解释:不操作可以得到最小值;操作 11 次可以得到最大值。

子任务

子任务编号 满分 限制
11 99 N,Q≤5N,Q\le 5
22 1414 N,Q≤15N,Q\le 15
33 2222 N,Q≤5000N,Q\le 5000
44 1111 N≤4000N\le 4000
55 1717 N≤10000N\le 10000
66 3737 无额外限制