首页 > 其他分享 >生成函数学习笔记

生成函数学习笔记

时间:2024-03-23 09:12:18浏览次数:19  
标签:函数 cdot sum 笔记 生成 砝码 OGF displaystyle

生成函数(generating function,简称 GF),一般只应用两种:OGF 和 EGF。

OGF 和 EGF 都是定义在一个数列上的。

【OGF】

【定义】

对于一个有限序列 \(\{a_i\}(i=0\sim N)\),其 OGF 为 \(f(x)=\displaystyle\sum_{i=0}^Na_i\cdot x^i\)。

对于一个无限序列 \(\{a_i\}\),其 OGF 为 \(f(x)=\displaystyle\sum_{i=0}^{+\infty}a_i\cdot x^i\)。

注意生成函数是一种形式幂级数,也就是一般情况下我们不考虑 \(x\) 具体的值,也不考虑 \(f(x)\) 是否收敛。

(我们把 \(\displaystyle\sum_{i=0}^{+\infty}a_i\cdot x^i\) 的形式称为级数)

例题:砝码称重

有 \(4\) 砝码,分别为 \(1,2,3,4\) 克。问称出 \(n\) 克的方案数。(砝码只能放在一边)

令 \(G(x)=(1+x^1)(1+x^2)(1+x^3)(1+x^4)\),发现 \(ans=[x^n]G(x)\)。(在一个多项式前加中括号,表示取中括号内的项的系数)

怎么理解呢?\(G(x)\) 每一个括号都代表一个砝码的选择:放或不放。

例题:取球方案

有 \(m\) 种颜色的球,要从里面取出 \(n\) 个球。问方案数。同时有两种情况:

  • 每种颜色的球各一个。显然答案是 \((^m_n)\)。

  • 每种颜色的球无限个。即求方程 \(x_1+x_2+\dots+x_m=n\) 非负整数解个数,隔板法 \((^{n+m-1}_{m-1})\)。

怎么用生成函数做?

当每种球只有一个,令 \(G(x)=(1+x)^m\),\(ans=[x^n]G(x)\)。

当每种球有无限个,令 \(G(x)=(1+x+x^2+x^3+\dots)^m=(\dfrac{1}{1-x})^m=\dfrac{1}{(1-x)^m}\)

标签:函数,cdot,sum,笔记,生成,砝码,OGF,displaystyle
From: https://www.cnblogs.com/FLY-lai/p/18090772

相关文章

  • Android开发笔记[16]-简单使用wasmedge运行时
    摘要使用wasmedge运行时在Android实现"容器化"运行,将fibonacci计算函数打包进入wasm然后打包进入APK中.关键信息AndroidStudio:Iguana|2023.2.1Gradle:distributionUrl=https://services.gradle.org/distributions/gradle-8.4-bin.zipjvmTarget='1.8'minSdk24targe......
  • 纯虚函数与抽象类
    当类中有了纯虚函数,这个类也就是抽象类,抽象类的特点:  无法实例化对象  子类必须重写抽象类中的纯虚函数,否则也属于抽象类 纯虚函数语法:  virtual返回值类型函数名(参数列表)=0 #include<iostream>classAbstractDrink{public://煮水v......
  • 函数 (XI) 开发手册和开发文档、函数(XII) 告阶函数【变得麻烦了】、54 永久存储
    查看刚才写的函数注释类型注释内省函数(XII)高阶函数高阶函数就是函数的参数也是函数,比如生成器那节课!高阶函数几乎就可以说是函数式编程的·灵魂所在·54永久存储......
  • Java笔记
    Java背景1.官网oraclejava文档https://docs.oracle.com/en/java/index.htmloraclejdk下载https://www.oracle.com/java/technologies/downloads/openjdkhttps://openjdk.org/2.java和JVMjava是基于类的、纯粹的面向对象编程语言java是解释执行类的语言WOR......
  • 数据结构笔记
    数据结构数据在内存中的存储方式(存储结构)程序=数据+算法算法=操作的步骤算法的时间复杂度动态数组链表迭代器栈和队列二叉搜索树二叉平衡树哈希表1.时间复杂度考量算法的时间复杂度有一个前提就是控制变量,语句的执行时间相同,数据的样本量相同……......
  • Android开发笔记[15]-设置页
    摘要使用MMKV数据框架实现设置页数据同步,设置页可以对其他页面进行设置;设置页数据通过MMKV框架持久化存储,重启APP不丢失.关键信息AndroidStudio:Iguana|2023.2.1Gradle:distributionUrl=https://services.gradle.org/distributions/gradle-8.4-bin.zipjvmTarget='1.......
  • [计算化学]分子动力学笔记
    本文为某计算机本科生的分子动力学学习笔记,在gpt4的辅助下,非体系化地整理相关生物、化学、统计力学知识。所有生成内容经过检查和调整,均直接代表本人观点。有科学性错误的话欢迎指教。什么是分子动力学定义:分子动力学是一门结合物理,数学和化学的综合技术。分子动力学是一套分子......
  • JavaWeb学习笔记——第一天
    Web开发什么是WebWeb:全球广域网,也称为万维网(wwwWorldWideWeb),能够通过浏览器访问的网站。Web网站的工作流程用户通过浏览器访问Web网站服务端的程序分为三部分:运行前端程序的前端服务器、运行Java后端程序的后端服务器和数据库服务器。用户通过浏览器对网站发起请求后,......
  • 蓝桥杯单片机快速开发笔记——利用定时器计数器设置定时器
    一、基本原理        参考本栏http://t.csdnimg.cn/iPHN0二、具体步骤三、主要事项    如果使用中断功能记得打开总中断EA四、示例代码voidTimer0_Isr(void)interrupt1{}voidTimer0_Init(void) //10毫秒@12.000MHz{ AUXR&=0x7F; //定时......
  • 软件测试--设计函数实现输入日期显示星期几
    1.划分等价类:2.运用等价类划分法设计测试用例3.源程序代码1importjava.text.ParseException;2importjava.text.SimpleDateFormat;3importjava.util.Calendar;4importjava.util.Date;5importjava.util.Scanner;67publicclasstest1{8......