摘要: 简单置换群输入n,然后输入n个x表示p(y)=x(1<=x,y<=n);p(p(y))=p(x)...问至少多少次可以使p(y)=y(全部的y)。所以就是求循环节的问题,而一个循环节里的数置换次数都是一样,p(..(p(y)))=x,然后求各个循环节长度的最小公倍数即可。#include<stdio.h>#include<string.h>#define N 1010int perm[N],vis[N];int gcd(int a,int b){ return b?gcd(b,a%b):a;}int main (){ int n,ans,len; int i 阅读全文
posted @ 2012-11-27 17:18 _hikaru__ 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 整数拆分问题:n可以由多少种组合的数之和构成;组合问题即n个相同小球放进n个相同的盒子里,盒子里球个数可以为0,问有多少种放置的方法。简单母函数。#include<stdio.h>#include<string.h>#define N 130int main (){ int n,c1[N],c2[N]; int i,j,k; while (scanf("%d",&n)!=EOF) { memset(c2,0,sizeof(c2)); for (i=0;i<=n;++i) c1[i]=1;//初始化系数 for (i=2;i<=n. 阅读全文
posted @ 2012-11-27 17:17 _hikaru__ 阅读(125) 评论(0) 推荐(0) 编辑