题目名称 3565. [USACO21Jan Gold]Dance Mooves
输入输出 dances.in/out
难度等级 ★★★
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatar数声风笛ovo 于2021-04-03加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:0, 提交:0, 通过率:0%
本题关联比赛
USACO水题大战
关于 Dance Mooves 的近10条评论(全部评论)

3565. [USACO21Jan Gold]Dance Mooves

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

【题目描述】

Farmer John 的奶牛们正在炫耀她们的最新舞步!

最初,所有的 $N$ 头奶牛($2\le N\le 10^5$)站成一行,奶牛 $i$ 排在其中第 $i$ 位。舞步序列给定为 $K$ 个位置对 $(a_1,b_1), (a_2,b_2), \ldots, (a_{K},b_{K})$。在舞蹈的第 $i = 1 \ldots K$ 分钟,位置 $a_i$ 与 $b_i$ 上的奶牛交换位置。同样的 $K$ 次交换在第 $K+1 \ldots 2K$ 分钟发生,在第 $2K+1 \ldots 3K$ 分钟再次发生,以此类推,周期性地持续共 $M$ 分钟($1\le M\le 10^{18}$)。换言之,

  • 在第 $1$ 分钟,位置 $a_1$ 与 $b_1$ 上的奶牛交换位置。
  • 在第 $2$ 分钟,位置 $a_2$ 与 $b_2$ 上的奶牛交换位置。
  • ……
  • 在第 $K$ 分钟,位置 $a_{K}$ 与 $b_{K}$ 上的奶牛交换位置。
  • 在第 $K+1$ 分钟,位置 $a_{1}$ 与 $b_{1}$ 上的奶牛交换位置。
  • 在第 $K+2$ 分钟,位置 $a_{2}$ 与 $b_{2}$ 上的奶牛交换位置。
  • 以此类推……

对于每头奶牛,求她在队伍中会占据的不同的位置数量。

注意:本题每个测试点的时间限制为默认限制的两倍。

【输入格式】

输入的第一行包含 $N$、$K$ 和 $M$。以下 $K$ 行分别包含 $(a_1,b_1) \ldots (a_K, b_K)$($1\le a_i<b_i\le N$)。

【输出格式】

输出 $N$ 行,第 $i$ 行包含奶牛 $i$ 可以到达的不同的位置数量。

【样例输入】

6 4 7
1 2
2 3
3 4
4 5

【样例输出】

5
4
3
3
3
1

【样例说明】

$7$ 分钟之后,各个位置上的奶牛为 $[3,4,5,2,1,6]$。

  • 奶牛 $1$ 可以到达位置 $\{1,2,3,4,5\}$。
  • 奶牛 $2$ 可以到达位置 $\{1,2,3,4\}$。
  • 奶牛 $3$ 可以到达位置 $\{1,2,3\}$。
  • 奶牛 $4$ 可以到达位置 $\{2,3,4\}$。
  • 奶牛 $5$ 可以到达位置 $\{3,4,5\}$。
  • 奶牛 $6$ 从未移动,所以她没有离开过位置 $6$。

【数据规模与约定】

测试点 1-5 满足 $N\le 100, K\le 200$。

测试点 6-10 满足 $M=10^{18}$。

测试点 11-20 没有额外限制。

【来源】

USACO 一月公开赛 Gold 组