膜拜膜拜大佬,玄关
  • 板块灌水区
  • 楼主封禁用户
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/11/28 07:33
  • 上次更新2024/12/1 07:12:35
查看原帖
膜拜膜拜大佬,玄关
1338182
封禁用户楼主2024/11/28 07:33

如果原始的数列是: 1 2 3 4 5,则使用一次置换( 3 4 5 2 1 )后变为:5 4 1 2 3;如果再次使用置换( 3 4 5 2 1 )则变为:3 2 5 4 1;多次置换的结果如下:

置换

记住啊!

题目:

题目描述

NN 个数的全排列有 N!N! 种,比如 55 个数的排列有 5!=1205!=120 种。但是,前面的置换( 345213 4 5 2 1 )我们看到,置换 66 次后,数列就还原了。

显然,置换( 345213 4 5 2 1 )只能得到6个不同的排列,或称这个置换的周期是 66

NN比较大时,周期有可能会很大!

输入格式 第一行1个正整数:NN,范围在[1, 1000000],表示字符串长度。 第二行:有N个整数,为 11NN 的一个全排列,表示一个置换。

输出格式

一行,1个数,表示置换的周期数。注意输出的是:

答案% 10000071000007

输入/输出例子1 输入:

5 5 3 2 1 4

输出:

6

2024/11/28 07:33
加载中...