摘要: 整数拆分问题: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) 编辑
摘要: polya计数+eular函数输入n,p;(n<=1e9,p<=30000);n个珠子行成一个圆链,有n种颜色的珠子,各种颜色都为无穷大,旋转后一样的珠子为同一种,求不同链子的总数。听起来就是普通的polya计数,不过一看n=1e9,太大了没办法枚举。先说一下polya计数:涉及置换群,m种颜色涂染n个物体。不同染色方案数L=(m^c(g1)+m^c(g2)+..+m^c(gs))/|G| gs为置换的方法,这题就是旋转1,2..n格,c^(g1)为循环节数,即置换后形成的环的个数;|G|为置换方法总数;这里为n。然后直接给结论吧:旋转:旋转k个位置时循环节数为gcd(n,k); 阅读全文
posted @ 2012-11-26 00:34 _hikaru__ 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 容斥原理引入:已知x=y^k,(x,y,k正整数),要使k最大,即y最小。输入a,b;计算[a,b]中的数的k的和,(2<=a<=b<=10^18),可统计[1,b]和[1,a-1]中数k的和,再相减可得出答案。因为2^62>10^18;即k<62;可以计算区间上1次方,2次方,3次方..的数的个数;其间会重复计算,j%i==0则会重复计算,需要减去num[i]-=num[j];(注意:要从后往前减)..最后乘加起来就好了。。这题坑爹的是计算次方个数时卡精度,因为pow(x,1.0/k)精度丢失了,最明显的是就是[2,1e18]时的9次方的个数为99,就是怎么发现 阅读全文
posted @ 2012-11-24 16:37 _hikaru__ 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 2012 ICPC/ACM 成都现场赛K题题意:输入n,m,m个数字n的最小倍数:要求不存在题中给的m个数字0~9;即x%n==0;不存在输出-1;结果会爆64位,所以用符合条件的数字进行bfs,最早找到的就是答案;记录:pre[t]记录到达t的前一节点u,num[t]记录形成t的最后一位数字。具体看代码: 1 #include<stdio.h> 2 #include<string.h> 3 #include<queue> 4 #define N 10100 5 using namespace std; 6 int pre[N],num[N],a[10]; 阅读全文
posted @ 2012-11-23 00:47 _hikaru__ 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 2012 ICPC/ACM 成都现场赛B题现场赛时,理解错题意了。。一直都推不出期望的通项公式,后来赛后题解老师说很简单的期望公式,我就有点纳闷了,是我把数学忘得太厉害了吧。。后来回来再看题意,完全就理解错了。。应该是第n+1次取到同一个盒子的糖时的概率,不是第n次的时候,所以可以直接去组合数就可以了。。期望公式就很容易求了。。题意:输入m,p;从两个盒子里各有n颗糖,每天取一颗,发现其中一个盒子空,求另外一个盒子糖果数的期望。p,1-p为取糖概率;for (i=0;i<n;++i) ans+=(n-i)*c(n,n+i)*(p^(n+1)*p^i+(1-p)^(n+1)*p^i);n& 阅读全文
posted @ 2012-11-23 00:39 _hikaru__ 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 组合游戏UVALive - 5059输入n和n个数,n堆石子。每次不能拿超过该堆石子的一半;二人轮流去,最后没的取的为输。求SG值;sg(x)=mex(sg(y)|y为x的后继)这里sg(x)=mex(sg(x-1),sg(x-2)..sg(ceil(x/2)));sg(1)=0;sg(2)=1;sg(3)=0;sg(4)=2;sg(5)=1当x为偶数时,mex()中必定有x/2个数,且[0,x/2-1];所以sg(x)=x/2;当x为奇数时,mex()中有(x-1)/2个数,x-1为偶数,sg(x-1)里也有(x-1)/2个数;sg(x-1)=mex(sg(x-2),sg(x-3)..sg( 阅读全文
posted @ 2012-11-23 00:26 _hikaru__ 阅读(231) 评论(0) 推荐(0) 编辑