zoukankan      html  css  js  c++  java
  • [国家集训队]整数的lqp划分 题解

    [国家集训队]整数的lqp划分 题解

    Problem

    ​ 给你一个\(n\)

    ​ 已知\(Fib_0=0,Fib_1=1,Fib_n=Fib_{n-1}+Fib_{n-2}(n>1)\)

    ​ 求\(\sum\limits_{a_1+a_2+ \cdots +a_m = n}\prod\limits_{i=1}^mFib_{a_i} \mod 10^9+7\)

    Solution

    ​ 设数列\(b_k=\sum\limits_{a_1+a_2+ \cdots +a_m = k}\prod\limits_{i=1}^mFib_{a_i}=F(x)^k\),所求即为\(b_n\),我们设其生成函数为\(G(x)\)

    ​ 令\(F(x)\)\(Fibonacci\)数列的生成函数,易得\(F(x)=\frac{x}{1-x-x^2}\)

    ​ 又因为\(G(x)=\sum\limits_{i=1}^{\infty}b_ix^i=\sum\limits_{i=1}^{\infty}F(x)^i=\sum\limits_{i=0}^{\infty}F(x)^i-F(x)^0\)

    ​ 得到\(G(x)=\frac{1}{1-F(x)}-1=\frac{1}{1-\frac{x}{1-x-x^2}}-1=\frac{1-x-x^2}{1-2x-x^2}-1=\frac{x}{1-2x-x^2}\)

    ​ 考虑到这个式子分母只有二次项,考虑暴力分解,把\(\frac{x}{1-2x-x^2}\)用待定系数法分解成\(\frac{1}{1-Ax}-\frac{1}{1-Bx}\)的形式

    ​ 得到\(G(x)=\frac{\sqrt 2}{4}(\frac{1}{1-(1+\sqrt 2)x}-\frac{1}{1-(1-\sqrt 2)x})\)

    ​ 展开得:\(G(x)=\sum\limits_{i=0}^{\infty}\frac{\sqrt 2}{4}((1+\sqrt 2)^i-(1-\sqrt 2)^i)x^i\)

    ​ 在\(\mod 10^9+7\)意义下,\(\sqrt 2=59713600\)

    ​ 故\(b_i=\frac{59713600}{4}((59713601)^i-(940286408)^i)\)

    ​ 于是我们可以用\(O(logn)\)的时间内快速求出答案

  • 相关阅读:
    远程服务器git搭建
    Ubuntu安装配置MySQL数据库,Apache,PHP
    html radio check
    opencv 抠图联通块(c接口)
    Vim命令
    二维码
    zTree Jquery eCharts
    Java进阶篇设计模式之二 ----- 工厂模式
    SpringBoot整合Netty并使用Protobuf进行数据传输(附工程)
    SpringBoot整合Jsp和Thymeleaf (附工程)
  • 原文地址:https://www.cnblogs.com/zjy123456/p/13714812.html
Copyright © 2011-2022 走看看