组合数学
二十一画生
嚶其鳴矣求其友聲
展开
-
hdu 21085 Holding Bin-Laden Captive! (母函数的应用)
#include#include#define N 8010int main(){ int i,j,k,n1,n2,n3,a[N],b[N],c[N]; while(scanf("%d%d%d",&n1,&n2,&n3)==3 && (n1 || n2 || n3)) { memset(a,0,sizeof(a)); memset(b原创 2013-06-07 14:04:18 · 725 阅读 · 0 评论 -
hdu 2069 Coin Change (母函数)
// Time 0ms, Memory 404K#includeint a[255][105],temp[255][105];int val[6]={0,1,5,10,25,50};int num[255]={0};int main(){ int i,j,k,t,n; a[0][0]=1; for(i=1;i<=5;i++) { for(j=0;j<=250;j++)原创 2013-06-07 12:52:51 · 1200 阅读 · 0 评论 -
hdu 2048 神、上帝以及老天爷
#includeint main(){ int i,n,c; double a[21]; a[1]=0;a[2]=1; for(i=3;i<21;i++) a[i]=(i-1)*(a[i-1]+a[i-2]); scanf("%d",&c); while(c--) { scanf("%d",&n);原创 2013-06-07 14:00:52 · 926 阅读 · 0 评论 -
hdu 2067 小兔的棋盘(Catalan数)
#includeint main(){ __int64 i,n,a[36],j=0; a[1]=2; for(i=2;i<36;i++) { a[i]=2*(a[i-1]*2-a[i-1]*3/(i+1)); } while(scanf("%I64d",&n)==1 && n!=-1) { j++;原创 2013-06-07 14:09:58 · 844 阅读 · 0 评论 -
hdu 2085 核反应堆
#includeint main(void){ int n, i; __int64 g[34] = {1}; __int64 d[34] = {0}; for (i = 1; i < 34; i++) { g[i] = 3 * g[i - 1] + 2 * d[i - 1]; d[i] = g[i - 1] + d[i -原创 2013-06-08 13:38:29 · 966 阅读 · 0 评论 -
hdu 4602 Partition
题意:将一个整数 n 进行无序拆分,一共有2^(n-1)种;输入一个整数 k ,问 k 在所有拆分中出现的次数。分析:a[n][k]=a[i][k]+2^(n-k-1);(k通过归纳法得到 a[n][k]=2*a[n-1][k]+2^(n-3);(n>=3),而对所有的 k 都有a[k][k]=1,a[k+1][k]=2,........所以数组a的值与第二维k无关。那么 a[k]=1原创 2013-07-26 20:44:12 · 1148 阅读 · 0 评论 -
hdu 1398 Square Coins (母函数)
#include#includeint main(){ int i,j,k,n,a[18][301]; memset(a,0,sizeof(a)); for(i=0;i<301;i++) a[1][i]=1; for(i=2;i<18;i++) { for(j=0;j<301;j++) for(k原创 2013-06-12 00:29:54 · 1033 阅读 · 0 评论 -
2014 ACM/ICPC Asia Regional Shanghai Online 1006 Sawtooth
#include #include #include #include #include#includeusing namespace std; #define MAXN 9999 #define MAXSIZE 10 #define DLEN 4 class BigNum { private: int a[500]原创 2014-09-27 16:10:30 · 1166 阅读 · 0 评论