首页 > 其他分享 >指数生成函数

指数生成函数

时间:2023-08-10 22:57:03浏览次数:40  
标签:frac 函数 指数 sum 生成 物品 fac ib pm

指数生成函数

定义:\(F(x)=\sum_{n>=0}\ a_n \frac{x^n}{n!}\)

加法

\(F(x) \pm G(x)=\sum_{i>=0} a_i \frac{x^i}{i!} \pm \sum_{j>=0} \frac{x^j}{j!}\)
\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\sum_{n>=0}(a_n \pm b_n) \frac{x^n}{n!}\)

乘法(卷积)

\(F(x)G(x)=\sum_{i>=0}a_i \frac{x^i}{i!} \sum_{j>=0} b_j \frac{x^j}{j!}\)
\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\sum_{n>=0} x^n \sum_{i=0}^{n} a_ib_{n-i} \frac{1}{i!(n-i)!}\)
\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\sum_{n>=0} \frac{x^n}{n!}\sum_{i=0}^{n} \frac{n!}{i!(n-i)!}a_ib_{i-1}\)
\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\sum_{n>=0} \frac{x^n}{n!} \sum C^i_na_ib_{n-i}\)

用处

多重集排列数问题

例题

\(HDU-1521\)排列组合
题意:有\(n\)种物品,每种物品有\(a_i\)个,问取\(m\)个物品的排列数
设每种物品中取\(b_i\)个,对于一组选\(b_i\)进行排列的方案数为\(\frac{m!}{b_1!b_2!b_3!...b_n!}\)
做卷积,所有满足\(b_1+b_2+...+b_n=m\)的项的系数之和再盛\(m!\)就是答案

void init(){
    fac[0]=fac[1]=1;
    for(int i=2; i<=11; i++){
        fac[i]=fac[i-1]*i;
    }
}

double cala(){
    for(int i=0; i<=a[1]; i++){
        C[i]=1.0/fak[i];
    }
    for(int i=2; i<=n; i++){//枚举括号
        //求x^j*x^k的系数
        for(int j=0; j<=m; j++){
            for(int k=0; k<=a[i]; k++){
                D[j+k]+=C[j]/fac[k];
            }
        }
        for(int j=0; j<=m; j++){
            C[j]=D[j],D[j]=0;
        }
    }
    return fac[m]*C[m];
}

标签:frac,函数,指数,sum,生成,物品,fac,ib,pm
From: https://www.cnblogs.com/wrl2010/p/17621806.html

相关文章

  • 普通生成函数
    普通生成函数定义:\(F(x)=\sum_{n>=0}\a_nx^n\)加减运算$F(x)\pmG(x)=\sum_{i>=0}\a_ix^i\pm\sum_{j>=0}b_jx^j$\(\\\\\\\\\\\\\\\\\\\\\\\=\sum_{n>=0}(a_n\pmb_n)x^n\)因此\(F(x)\pmG(x)......
  • WEB自动化-Allure报告-使用钩子函数 进行失败截图
    Allure报告中支持使用钩子函数进行失败截图   使用pytest_runtest_makereport钩子函数实现allure报告添加用例失败截图(函数名固定的) Hook函数又称为钩子函数,它的作用可以理解成钩住自己喜欢的东西(在window中,喜欢的东西可理解为消息),然后对自己喜欢的东西单独做处理 ......
  • C++友元函数和友元类的使用
    1.友元介绍在C++中,友元(friend)是一种机制,允许某个类或函数访问其他类的私有成员。通过友元,可以授予其他类或函数对该类的私有成员的访问权限。友元关系在一些特定的情况下很有用,例如在类之间共享数据或实现特定的功能。友元可以分为两种类型:类友元和函数友元。2.类友元类友元(Friend......
  • Jmeter-生成压测报告
     以非GUI命令行执行脚本将Jmeter安装目录\bin添加到系统环境变量path命令参数-n命令行模式-t脚本路径-l测试结果路径(jtl或者csv)-j日志路径-r分布式执行-R远程服务器列表-g生成测试......
  • 利用pytorch自定义CNN网络(四):损失函数和优化器
    本文是利用pytorch自定义CNN网络系列的第四篇,主要介绍如何训练一个CNN网络,关于本系列的全文见这里。笔者的运行设备与软件:CPU(AMDRyzen™54600U)+pytorch(1.13,CPU版)+jupyter;训练模型是为了得到合适的参数权重,设计模型的训练时,最重要的就是损失函数和优化器的选择。损......
  • XMLEncoder生成的xml文档的schema分析
    以下文为基础,进行分析LongTermPersistenceofJavaBeansComponents:XMLSchemahttp://java.sun.com/products/jfc/tsc/articles/persistence3/ 1BasicElements每个xml以一个可选的<?xmlversion="1.0"encoding="UTF-8"?>开头,接着是<javaversion="1.4.0&q......
  • 无涯教程-Perl - int函数
    描述此函数返回EXPR的整数元素,如果省略则返回$_。int函数不进行舍入。如果需要将值四舍五入为整数,则应使用sprintf。语法以下是此函数的简单语法-intEXPRint返回值此函数返回EXPR的整数部分。例以下是显示其基本用法的示例代码-#!/usr/bin/perl$int_val=int(......
  • 什么是迭代器,生成器,装饰器;django的信号用过吗?如何用,干过什么;什么是深拷贝,什么是浅拷贝
    什么是迭代器,生成器,装饰器;django的信号用过吗?如何用,干过什么;什么是深拷贝,什么是浅拷贝,如何使用什么是迭代器,生成器,装饰器#迭代器-迭代:一种不依赖于索引取值的方式,我们不需要关注它的位置,只要能够一个个取值,它就称之为迭代,python中就是for循环,内部调用对象.__next__()-可迭......
  • 无涯教程-Perl - index函数
    描述此函数返回STR中第一次出现的SUBSTR的位置,该位置从开头(从零开始)开始,或者从POSITION(如果指定)开始。语法以下是此函数的简单语法-indexSTR,SUBSTR,POSITIONindexSTR,SUBSTR返回值失败时此函数返回-1,否则返回匹配字符串的位置(第一个字符从零开始)。例......
  • Freemarker生成电子协议并转png图片
    目录依赖包配置模板文件目录Java代码html转png图片需要用到wkhtmltopdfFreemarker是一种流行的模板引擎,它可以使用Java、C#、PHP等语言编写模板,并从模板中生成HTML、XML、文本等各种文件格式。Freemarker模板由一个或多个包含变量和指令的文本文件组成,这些变量和指令可以在......