题目大意:
给定一个序列,问最少需要多少次置换才能变为 1、2、…、N 的有序序列。比如说给
定5个数的序列 4 1 5 2 3,表示置换为:
( 1 2 3 4 5 ) ,即 (1 4 2)(3 5)
4 1 5 2 3
解题思路:
对于每一位找到自己轮换内轮换到自己的次数,求不相交的轮换之间的次数的公倍数,
即为最终结果。...
分类:
其他好文 时间:
2015-08-19 20:40:37
阅读次数:
93
就是求最大公倍数,但要用分解质因子求。自己写的WA到爆。。。。#include#include#include#includeusing namespace std;#define rd(x) scanf("%d",&x)#define rd2(x,y) scanf("%d%d",&x,&y)#de...
分类:
其他好文 时间:
2015-08-19 00:34:21
阅读次数:
125
题目大意:给出一个序列,求变换几次可以回到原来的位置。比如 1 3 2 ,3 不在原来的位置,变到3位置,次数加1,2变到2,次数+1.得到2.。解题思路:做法就是分解循环长度。然后求下最小公倍数。但是不能直接用lcm求最小公倍数。。我们可以考虑用质数分解来求,即公共的质因子乘每个数本身的质因子。#include
#include
#include <algori...
分类:
其他好文 时间:
2015-08-17 21:45:35
阅读次数:
119
题目链接:点击打开链接
题目大意:给出一种操作a[1],a[2],,,,a[n],代表每交换一次,1位置的数到a[1]位置,2位置的数到a[2]位置,,,
问最终交换多少次可以恢复初始的情况。
题目给出一个置换,要求置换的次数,也就是所有轮换个数的最小公倍数。首先求出所有轮换的个数,然后求最小公倍数的时候不能用gcd,因为Mod的取余太大,所以用质因子分解,统计每个质因子出现的最多次数,计算...
分类:
其他好文 时间:
2015-08-17 17:28:59
阅读次数:
125
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5392
题意:至今没弄懂题意。按admin的意思猜的:求出每个循环的长度,然后求出这些长度的最小公倍数。结果%3221225473。
分析:首先求出每个循环的长度len,由于结果很大,用gcd求最小公倍数的时候不能直接模3221225473(模下gcd是不正确的......),可以将所有的长度len分解...
分类:
其他好文 时间:
2015-08-16 15:16:26
阅读次数:
151
题意:给一个置换,求最小循环长度对p取模的结果思路:一个置换可以写成若干循环的乘积,最小循环长度为每个循环长度的最小公倍数。求最小公倍数对p取模的结果可以对每个数因式分解,将最小公倍数表示成质数幂的乘积形式,然后用快速幂取模,而不能一边求LCM一边取模。由于这题数据量太大,需要用到输入挂,原理是把文...
分类:
其他好文 时间:
2015-08-16 15:01:51
阅读次数:
387
Problem Description
The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and...
分类:
其他好文 时间:
2015-08-14 19:15:34
阅读次数:
132
import java.util.*;
public class GetLCM {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int b = scan.nextInt();
int mod = a % b;...
分类:
编程语言 时间:
2015-08-14 19:11:30
阅读次数:
140
曾经做过的40道程序设计课后习题总结(三) 课后习题目录 1 斐波那契数列 2 判断素数 3 水仙花数 4 分解质因数 5 杨辉三角 6 学习成绩查询 7 求最大公约数与最小公倍数 8 完全平方数 9 统计字母、空格、数字和其它...
分类:
其他好文 时间:
2015-08-11 12:29:46
阅读次数:
298
1 #include 2 int cal( int x,int y ) 3 { 4 return y ? cal( y , x % y ) : x;//求最大公约数 5 } 6 int main( ) 7 { 8 int x,y,z; 9 while( scanf( "%d...
分类:
其他好文 时间:
2015-08-09 15:23:43
阅读次数:
102