hdu 2065 红色病毒问题 (母函数)
生活随笔
收集整理的這篇文章主要介紹了
hdu 2065 红色病毒问题 (母函数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
點擊打開鏈接
指數型母函數問題
引例:假設有8個元素,其中a1重復3次,
a2重復2次,a3重復3次。從中取r個組合,,
這樣,對于一個多重集,其中a1重復n1次,a2 重復n2次,…,ak重復nk次,
從中取r個排列的不同排列數所對應的指數型母函數為
G(x)=(1+x/1!+x^2/2!+…——x^n1/n1!)(1+x/1!+x^2/2!+…)…(1+x/1!+x^2/2!+…+x^n/n!)
定義:對于序列a0,a1,a2,…,函數
G(x)=a。+a1/1!*x+a2/2!*x^2+a3/3!*x^3…+ak/k!*x^k+…
稱為序列a0,a1,a2,…對應的指數型母函數。
??G(X)??=??( 1+ x + x^2/2! + x^4/! + .. )^2??????*??( 1 + x + x^2/2! + x^3/3! +... )^2
??A, C 只能出現偶數或者不出現情況????B, D出現方式不限制????
?得:??x^n 項系數??a(n) =??(4^n+2*2^n)/(4*n!)
?求的:count=(4^n+2*2^n)/4 0
#include <stdio.h> int main() {int t,i;__int64 n;int a[23]={0,2,6,20,72,72,56,60,12,92,56,0,52,12,56,40,92,32,56,80,32,52,56};int b[20]= {20,72,72,56,60,12,92,56,0,52,12,56,40,92,32,56,80,32,52,56};while (scanf("%d",&t)!=EOF){if (t==0)return 0;for (i=1;i<=t;i++){scanf("%I64d",&n);if (n<=22)printf("Case %d: %d\n",i,a[n]);else{n=(n-3)%20 ;printf("Case %d: %d\n",i,b[n]);}}printf("\n");}return 0; }
轉載于:https://www.cnblogs.com/yyf573462811/archive/2012/10/22/6365168.html
總結
以上是生活随笔為你收集整理的hdu 2065 红色病毒问题 (母函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给XCODE加一个注释的小插件
- 下一篇: 软件构架实践(第2版)学习笔记