题目名称 | 506. 教官 |
---|---|
输入输出 | officer.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | cqw 于2010-11-17加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:69, 提交:163, 通过率:42.33% | ||||
Magic_Sheep | 100 | 0.000 s | 0.00 MiB | C++ |
_Itachi | 100 | 0.000 s | 0.00 MiB | C++ |
1020 | 100 | 0.000 s | 0.00 MiB | C++ |
东林桂香 | 100 | 0.009 s | 0.46 MiB | C++ |
瑆の時間~無盡輪迴·林蔭 | 100 | 0.009 s | 13.82 MiB | C++ |
liu_runda | 100 | 0.010 s | 0.34 MiB | C++ |
HouJikan | 100 | 0.010 s | 0.36 MiB | C++ |
西园雪没 | 100 | 0.010 s | 0.46 MiB | C++ |
FoolMike | 100 | 0.010 s | 0.77 MiB | C++ |
Hzoi_chairman | 100 | 0.013 s | 0.43 MiB | C++ |
本题关联比赛 | |||
20101117 |
关于 教官 的近10条评论(全部评论) | ||||
---|---|---|---|---|
原本以为会TLE。。。
结果居然过了。。。。 | ||||
再次看到这个题,明明是群论直接解。。。
把置换拆解成s个循环,长度依次$ k_{1}, k_{2}.., k_{s} $ 。若$ A^m = I $ m为所有每个循环的长度的倍数的时候满足。于是$ m_{min} = lcm(k_{1}, k_{2}.., k_{s}) $ | ||||
强行塔尔尖....
| ||||
好黑暗的一题
| ||||
连数组都要开longlong 可啪
| ||||
考数学,真心为自己数学汗颜。。
_Itachi
2016-08-08 20:44
3楼
| ||||
论认真读题的重要性:
对于全部数据,答案在均在64位整数范围之内。 第一次longint爆掉,40 第二次改变运算顺序后继续爆掉,50 第三次怒改int64,AC……………… | ||||
只会暴力
|
【题目描述】
每个学年的开始,高一新生们都要进行传统的军训。今年有一个军训教官十分奇怪,他为了测试学员们的反应能力,每次吹哨后学员们都会变换位置。每次左数第i位学员都会站到第ai个位置,经过若干次之后,队伍又会回到原来的样子。
你的任务是计算n个人的队伍至少经过多少次之后,队伍恢复到原来样子。
第一行包含一个整数N(0<N<=10000),表示队伍的人数。
接下来N行,每行一个正整数ai表示左起第i个人接下来出现在左起第ai个位置上。
仅包括一行,一个正整数M,表示军官最少的吹哨次数。
officer.in
5
2
3
4
5
1
【输出样例】
officer.out
5
【提示】
数据规模
对于30%的数据,有N<=100
对于100%的数据,有N<=10000;
对于全部数据,答案在均在64位整数范围之内。