组合数学
BehappyXiang
这个作者很懒,什么都没留下…
展开
-
Codeforces 300 C Beautiful Numbers (Locas)
思路:首先注意到对于长度为N的数字,他各个位数相加最多不会超过b*n,那么就可以枚举小于等于b*n中由a和b组成的good数gnum,设a*x+b*y=gnum,x和y为所求n位数中a的个数和b的个数,并且x+y=n这样,就可以解得x=(m-b*n)/(a-b).只要有正整数解,就说明存在n位数good数字使得他的各个位数之和等于gnum,也就是说由x个a核y个b组成的数字都是excellent数原创 2013-04-27 20:03:37 · 1455 阅读 · 0 评论 -
组合数学-母函数
1.整数划分类似于给你各种重量的砝码,问有多少种方法称出重量W,这里转化为给你1,2,3...n种数,问如何组合可以得到n。对于重量为1的砝码(用整数1):(x^0+x^1+x^2+...+x^n)对于重量为2的砝码(用整数2):(x^0+x^2+x^4+...+x^(2*k))(2*k对于重量为3的砝码(用整数3):(x^0+x^1+x^2+...+x^(3*k))(3*k原创 2013-04-29 16:24:03 · 856 阅读 · 0 评论 -
HDU 4633 Who's Aunt Zhang (Polya定理)
设G是p个对象的一个置换群,用m种颜色涂染p个对象,则不同染色方案为: 其中G={g1,…gs} c(gi )为置换gi的循环节数(i=1…s)#include #include #include #include #include using namespace std;#define MOD 10007int quickpow(int a,int b){原创 2013-08-02 15:41:43 · 1139 阅读 · 0 评论