数论数学:生成函数(三)

看之前建议重温数论数学:生成函数(一),因为今天的内容有一定前置知识

|----------------------------------------------------------------------------------------------------------------------|

前置知识
  • 二元一次方程组求解(真的)

|----------------------------------------------------------------------------------------------------------------------|
我们在数论数学:生成函数(一)中探讨过的斐波那契数列,其实可以反建模发现其实第 n n n个斐波那契数,就是用 1 × 2 1\times 2 1×2的骨牌铺满 2 × n 2\times n 2×n的矩阵的方法数(这个太简单了,感性理解

兰而,我们今天要讨论的,是用 1 × 2 1\times 2 1×2的骨牌铺满 3 × n 3\times n 3×n的矩阵的方法数。大概用了1飞秒时间,我们意识到用 1 × 2 1\times 2 1×2的骨牌铺满 3 × 奇 数 3\times 奇数 3×的矩阵是impossible的,因为奇数个格子无法被面积为偶数的骨牌填满。

服从一贯的套路,我们将 U n U_n Un记为是用 1 × 2 1\times 2 1×2的骨牌铺满 3 × n 3\times n 3×n的矩阵的方法数,所以 U 奇 数 = 0 U_{奇数}=0 U=0。但是,从当前的情况来看,求出 U n U_n Un的递推式似乎有些困难,所以我们不妨再设一个 V n V_n Vn表示用 1 × 2 1\times 2 1×2的骨牌铺满缺了一个角的 3 × n 3\times n 3×n的矩阵的方法数,形如:
在这里插入图片描述
同样的, V 偶 数 = 0 V_{偶数}=0 V=0。那么接下来递推式就很好设计了,只要防止重复计算就好了 V n = U n − 1 + V n − 2 , U n = 2 V n − 1 + U n − 2 V_n=U_{n-1}+V_{n-2},U_n=2V_{n-1}+U_{n-2} Vn=Un1+Vn2,Un=2Vn1+Un2 U 1 = 0 , U 2 = 3 , V 1 = 1 , V 2 = 0 U_1=0,U_2=3,V_1=1,V_2=0 U1=0,U2=3,V1=1,V2=0然后设 U n U_n Un的生成函数为 U ( z ) U(z) U(z),设 V n V_n Vn的生成函数为 V ( z ) V(z) V(z),则: U ( z ) = 2 z × V ( z ) + z 2 × U ( z ) + 1 U(z)=2z\times V(z)+z^2\times U(z)+1 U(z)=2z×V(z)+z2×U(z)+1 V ( z ) = z 2 × V ( z ) + z × U ( z ) V(z)=z^2\times V(z)+z\times U(z) V(z)=z2×V(z)+z×U(z)然后这就解二元一次方程组嘛。。。 U ( z ) = 1 − z 2 1 − 4 z 2 + z 4 ; V ( z ) = z 1 − 4 z 2 + z 4 U(z)=\frac{1-z^2}{1-4z^2+z^4};V(z)=\frac{z}{1-4z^2+z^4} U(z)=14z2+z41z2V(z)=14z2+z4z然后按照数论数学:生成函数(一)的老规矩硬算(为所欲为 U 2 n = ( 2 + 3 ) n 3 − 3 + ( 2 − 3 ) n 3 + 3 U_{2n}=\frac{(2+\sqrt{3})^n}{3-\sqrt{3}}+\frac{(2-\sqrt{3})^n}{3+\sqrt{3}} U2n=33 (2+3 )n+3+3 (23 )n 然后我们就可以做这道题了BJOI2019压轴题?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值