题目名称 3354. [USACO20 Feb Silver]Swapity Swapity Swap
输入输出 usaco_Feb_swap.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatar数声风笛ovo 于2020-02-25加入
开放分组 全部用户
提交状态
分类标签
查看题解 分享题解
通过:9, 提交:10, 通过率:90%
Gravatar1020 100 0.075 s 2.42 MiB C++
Gravatar梦那边的美好ET 100 0.095 s 15.18 MiB C++
GravatarBenjamin 100 0.142 s 4.28 MiB C++
Gravatar夜莺 100 0.172 s 5.54 MiB C++
GravatarBenjamin 100 0.173 s 4.99 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.277 s 28.92 MiB C++
Gravatar斯内普和骑士 100 0.320 s 14.80 MiB C++
GravatarBenjamin 100 0.416 s 14.48 MiB C++
GravatarShallowDream雨梨 100 0.872 s 22.05 MiB C++
Gravatar梦那边的美好ET 10 9.001 s 15.18 MiB C++
本题关联比赛
USACO银组重赛hhh
2022级数学专题练习赛2
关于 Swapity Swapity Swap 的近10条评论(全部评论)
话说置换群用快速幂吗,直接找到循环节旋转不完了,时间复杂度快速幂是O(nlogk),直接旋转是O(n),那是官方数据不想卡你快速幂。。。
Gravatar梦那边的美好ET
2020-03-10 08:15 8楼
回复 @夜莺 :
这都怪智障的第一个看题人林荫太菜了
不过置换群也可以做
Gravatar瑆の時間~無盡輪迴·林蔭
2020-03-09 19:52 7楼
就是一个快速幂呀,那么多的标签都是啥呀。。。
Gravatar夜莺
2020-03-03 21:44 6楼
回复 @瑆の時間~無盡迴·林蔭 :
在说我吗?
GravatarShallowDream雨梨
2020-03-02 14:54 5楼
见识了什么叫做错错得对。
两部分写的没有一块符合思路,但是拼在一起就是另一种求法。
Gravatar瑆の時間~無盡輪迴·林蔭
2020-03-01 18:16 4楼
对不起,在下不会置换群快速幂
Gravatar瑆の時間~無盡輪迴·林蔭
2020-03-01 17:05 3楼
回复 @ShallowDream雨梨 :
数据终于开放下载了,现在就传!
Gravatar数声风笛ovo
2020-03-01 13:30 2楼
数据什么时候传
GravatarShallowDream雨梨
2020-02-27 10:18 1楼

3354. [USACO20 Feb Silver]Swapity Swapity Swap

★★☆   输入文件:usaco_Feb_swap.in   输出文件:usaco_Feb_swap.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

Farmer John 的 $N$ 头奶牛$ (1\le N\le 10^5)$ 站成一排。对于每一个 $1\le i\le N$,从左往右数第 $i$ 头奶牛的编号为 $i$。

Farmer John 想到了一个新的奶牛晨练方案。他给奶牛们 $M$ 对整数 $(L_1,R_1) \ldots (L_M, R_M)$,其中 $1 \leq M \leq 100$。他让她们重复以下包含 $M$ 个步骤的过程 $K$ $(1\le K\le 10^9)$ 次:

  • 对于从 $1$ 到 $M$ 的每一个 $i$:
  • 当前从左往右数在位置 $L_i \ldots R_i$ 的奶牛序列反转她们的顺序。

当奶牛们重复这一过程 $K$ 次后,请对每一个 $1\le i\le N$ 输出从左往右数第 $i$ 头奶牛的编号。

【输入格式】

输入的第一行包含 $N$, $M$ 和 $K$。对于每一个 $1\le i\le M$,第 $i+1$ 行包含 $L_i$ 和 $R_i$,均为范围在 $1 \ldots N$ 内的整数,其中 $L_i < R_i$。

【输出格式】

在第 $i$ 行输出指令序列执行了 $K$ 次后奶牛序列中从左往右数第 $i$ 个元素的编号。

【样例1输入】

7 2 2
2 5
3 7

【样例1输出】

1
2
4
3
5
7
6

【样例1解释】

初始时,奶牛们的顺序从左往右为 $[1,2,3,4,5,6,7]$。

在这一过程的第一步过后,顺序变为 $[1,5,4,3,2,6,7]$。

在这一过程的第二步过后,顺序变为 $[1,5,7,6,2,3,4]$。

再重复这两个步骤各一次,即可得到样例的输出。

【样例2输入输出】

点击下载样例2

【数据规模与约定】

对于 $10\%$ 的测试数据(测试点$ 2 $),满足$ N = K = 100 $。 

对于 $50\%$ 的测试数据(测试点$ 1 \sim 5 $),满足$ N ≤ 1,000 $。 

对于 $100\%$ 的测试数据,均满足上文所给出的数据规模。