摘要:
题意:给出一个整数n,叫你给出1到n的某个序列经过k次置换后能还原,求这样最大的k,如果存在多种序列满足要求。则必须求出字典序最小的那个序列。一个轮换必须经过它的大小的次数的置换才能还原,那么这个序列的k其实就是它的所有轮换的大小的最小公倍数。至于怎么求最小序列,可以通过素数分解来完成。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #define MAXN 104 5 using namespace std; 6 __int64 dp[MAXN][MAXN] 阅读全文