排列组合 HDU - 1521 -指数型母函数

Posted sdutning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排列组合 HDU - 1521 -指数型母函数相关的知识,希望对你有一定的参考价值。

  • 排列组合

  •  HDU - 1521 
  • 一句话区分指数型母函数和母函数就是 母函数是组合数,指数型母函数是排列数
  • #include<bits/stdc++.h>
    using namespace std;
    #define maxn 12
    double ans[maxn],tp[maxn],inv[maxn];
    int n,m,a[maxn];
    void init()
    {
        inv[0]=1;
        for(int i=1; i<=11; i++)
            inv[i]=inv[i-1]*i;
    }
    int main()
    {
        init();
        while(~scanf("%d%d",&n,&m))
        {
            for(int i=1; i<=n; i++)
                scanf("%d",&a[i]);
            memset(ans,0,sizeof(ans));
            memset(tp,0,sizeof(tp));
            for(int i=0; i<=a[1]; i++)
                ans[i]=1/inv[i];
            for(int i=2; i<=n; i++)
            {
                for(int j=0; j<=m; j++)
                    for(int k=0; k<=a[i]&&j+k<=m; k++)
                        tp[j+k]+=ans[j]/inv[k];
                for(int j=0; j<=m; j++)
                    ans[j]=tp[j],tp[j]=0;
            }
            printf("%.0lf
    ",ans[m]*inv[m]);
        }
        return 0;
    }
    

      

以上是关于排列组合 HDU - 1521 -指数型母函数的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1521 排列组合

排列组合+组合数取模 HDU 5894

HDU 2492 BIT/逆序数/排列组合

hdu 1799 (循环多少次?)(排列组合公式)

hdu 4535(排列组合之错排公式)

hdu5396 Expression 区间dp +排列组合