首页 > 其他分享 >[Note]生成函数

[Note]生成函数

时间:2022-12-26 15:22:49浏览次数:53  
标签:... frac 函数 dfrac sum 生成 Note

普通生成函数

常用于解决组合问题。

对于无穷数列 \(a\),生成函数即为 \(f(x)=\sum_{i=0}^{∞} a_ix^i\)。

容易发现一个显然的性质:若 \(c_i=a_i+b_i\),那么有 \(f_c(x)=f_a(x)+f_b(x)\)。


以下是常见的生成函数:

  1. \(a_i=1\),\(f(x)=\frac{1}{1-x}\)

  2. \(a_i=C_{n}^{i}\),\(f(x)=(1+x)^n\)

  3. \(a_i=[2\mid i]\),\(f(x)=\dfrac{1}{1-x^2}\)

  4. \(a_i=C_{n+i}^{n}\),\(f(x)=(1-x)^{n+1}\)


LG2000 拯救世界 为例。

lzn:

金神石:\(x^0+x^6+x^{12}...=\dfrac{1}{1-x^6}\)

木神石:\(x^0+x^1+...+x^9=\frac{1-x^{10}}{1-x}\)

水神石:\(x^0+x^1+...+x^5=\frac{1-x^{6}}{1-x}\)

火神石:\(x^0+x^4+x^8...=\dfrac{1}{1-x^4}\)

土神石:\(x^0+x^1+...+x^7=\frac{1-x^{7}}{1-x}\)

kkk:

金神石:\(x^0+x^2+x^{4}...=\dfrac{1}{1-x^2}\)

木神石:\(x^0+x^1=\frac{1-x^{2}}{1-x}\)

水神石:\(x^0+x^{8}+x^{16}+...=\dfrac{1}{1-x^8}\)

火神石:\(x^0+x^{10}+x^{2-}...=\dfrac{1}{1-x^{10}}\)

土神石:\(x^0+x^1+x^2+x^3=\frac{1-x^{4}}{1-x}\)

最后连乘得到答案的生成函数是 \(\dfrac{1}{(1-x)^5}\)

根据上面的常见生成函数,易知答案函数 \(f(x)=C_{n+4}^{n}=C_{n+4}^4\)


如何求斐波那契通项公式:

\(f_0=0,f_1=1,F(x)=\sum f_ix^i\)。

因为 \(f_i=f_{i-1}+f_{i-2}~~(i\ge2)\)。

\(f_ix^i=xf_{i-1}x^{i-1}+x^2f_{i-2}x^{i-2}\)

累加得 \(F(x)=x+xF(x)+x^2F(x)\)

所以有 \(F(x)=\dfrac{x}{1-x-x^2}\)

考虑如何反推出原函数,由 性质 考虑将 \(F(x)\) 拆分。

\((1-x-x^2)=(1-\alpha)(1-\beta)\)

\(\dfrac{x}{1-x-x^2}=\dfrac{c}{1-\alpha}+\dfrac{d}{1-\beta}\)

最后求解出 \(c,d,\alpha,\beta\) 即可。

指数生成函数

常用于解决排列问题。

\(f(x)=\sum a_i\frac{x^i}{i!}\)。


  1. \(a_i=1\),\(f(x)=e^x\)

  2. \(a_i=k\),\(f(x)=e^{kx}\)

  3. \(a_i=(-1)^i\),\(f(x)=e^{-x}\)

  4. \(a_i=[2\mid i]\),\(f(x)=\frac{e^{x}+e^{-x}}{2}\)(\(x+(-x)=0\))

  5. \(a_i=[3\mid i]\),\(f(x)=\frac{e^x+e^{\omega x}+e^{\omega^2}}{3}\)(\(1+\omega+\omega^2=0\))


UOJ450 为例

分 \(d=1,2,3\) 分别考虑。

  1. \(d=1\),答案就是 \(k^n\)。

  2. \(d=2\),每个复读机的生成函数为 \(\frac{e^x+e^{-x}}{2}\)。那么答案的生成函数就是 \(2^{-k}(\frac{e^x+e^{-x}}{2})^k\)。二项式展开得 \(\sum C^{i}_{k}(e^{x})^i*(e^{-x})^{k-i}=\sum C_{k}^{i}e^{(2i-k)x}\),然后我们将它还原成原数列求第 \(n\) 项值得答案为 \(2^{-k}\sum C_{k}^{i}(2i-k)^n\)

  3. \(d=3\),类比 \(d=2\)。

标签:...,frac,函数,dfrac,sum,生成,Note
From: https://www.cnblogs.com/1l2u3o/p/17005869.html

相关文章

  • 『DL笔记』深入理解softmax交叉熵损失函数反向传播求导过程分析
    目录​​一、softmax函数​​​​二、损失函数lossfunction​​​​三、最后的准备工作                         ......
  • linux文件操作函数
    前言:    我们在这一节将要讨论linux下文件操作的各个函数.文件的创建和读写文件的各个属性目录文件的操作管道文件----------------------......
  • shell 自加自减/函数调用/sleep/vim 替换
    1、shell自加自减shell中自加的写法((x++))或者((x+=1))减法同理((x--))或者((x-=1))使用变量a=1a=$(($a+1))a=$[$a+1]a=`expr$a+1`还有一个办法,let$letx=x+1......
  • 【C语言】malloc 函数
    那么这篇文章来介绍下动态内存开辟的函数之malloc()的使用,知道如何用了,那么就相当于学会了这个动态内存开辟。  ......
  • 001 MATLAB-plotyy-函数详解
    plot1定义plot()——matlab中二维画图的函数,函数返回值是各个线条的句柄。2调用格式2.1plot(y)当y为向量时,是以y的分量为纵坐标,以元素序号为横坐标,用直线依次连接......
  • python 函数 9
    1.定义函数#下面定义一个简单的函数,def关键字用来定义函数defgreet_user(username):print(f"hello-{username}")#调用greet_user('jesse')#实参和形参,上......
  • SQLite 内置标量函数
    SQLite内置标量函数abs(X)返回数值参数X的绝对值。如果X为null,则返回null。如果X是无法转换为数值的字符串或blob,则返回0.0。如果X是整数-9223372036854......
  • 骨架屏生成辅助函数
    /***@description:Asimplefunctiontohelpyougenerateskeleton*Demo:*consts=newSkeleton();constrootNode=document.querySelector('#root......
  • 如何从DLL或者DEF文件生成LIB文件
    VisualC++开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。1、在命令行执行:dumpbin/exportsyourdll.dll>......
  • STL string 常用函数
    string类的构造函数:string(constchar*s);//用c字符串s初始化string(intn,charc);//用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string......