首先有序整数拆分有个显然的递推式是g(n)=Σg(i) (i=0~n-1),即枚举加入最后一个数之前和是多少。(虽然不用递推式也能显然地知道答案是2n-1)。

  类似地,lqp拆分有递推式f(n)=Σf(i)fib(n-i) (i=0~n-1)。由乘法分配律就可以推出。特别地,f(0)=1。

  又是一个卷积。是不是可以直接算了?啊要分治FFTn有1e6而且还不是NTT模数……肯定跑不过去啊。于是考虑生成函数。

  设其生成函数为F(x),斐波拉契数列的生成函数为FIB(x)。则F(x)=F(x)·FIB(x)+1。因为f(0)=1是我们的特殊规定所以补上1。即有F(x)=1/(1-FIB(x))。

  考虑求出FIB(x)的有限表示。可以把fib(n)的递推式也看做卷积。设a1=1,a2=1,则有fib(n)=Σfib(i)a(n-i)  (i=0~n-1)。而a的生成函数为A(x)=x+x2。那么有FIB(x)=FIB(x)·A(x)+x。有FIB(x)=x/(1-A(x))=x/(1-x-x2)。于是代入得F(x)=1/[1-x/(1-x-x2)]=1-x/(x2+2x-1)。

  这个求出来……多项式求逆?照样爆炸啊。

  据说可以用特征根。然而那是啥玩意啊?

  推了半天……不如打表!

  则显然f(n)=2f(n-1)+f(n-2)。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define P 1000000007
#define N 1000010
int n,f[N];
int main()
{
#ifndef ONLINE_JUDGE
freopen("bzoj2173.in","r",stdin);
freopen("bzoj2173.out","w",stdout);
const char LL[]="%I64d";
#else
const char LL[]="%lld";
#endif
n=read();
f[]=,f[]=;
for (int i=;i<=n;i++) f[i]=((f[i-]<<)%P+f[i-])%P;
cout<<f[n];
return ;
}

最新文章

  1. C++之路进阶——codevs3333(高级打字机)
  2. Linux学习笔记(二)
  3. php学习笔记-基础篇
  4. html-div中内容自动换行
  5. atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux
  6. Windows校验文件哈希hash的两种常用方式
  7. 【Gym 100015A】Another Rock-Paper-Scissors Problem
  8. 牛逼的 弹出层 layer !!!
  9. floodlight 学习(一)
  10. 重操JS旧业第五弹:函数
  11. 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试
  12. Java之枚举----小试牛刀练习
  13. MySql 使用规范推荐(转)
  14. Hbase 读写 原理
  15. 如何给EOS账户设置自定义权限
  16. LOJ121 「离线可过」动态图连通性
  17. VMWare VSphere6.0的实验笔记
  18. tee命令详解
  19. 基于C#的机器学习--模糊逻辑-穿越障碍
  20. Eclipse Java EE IDE中jsp页面编码修改

热门文章

  1. c#对联合体的封装
  2. [Oracle][Corruption]发生ORA00600[kdsgrp1]的时候,如何进行调查
  3. React Native 教程:001 - 如何运行官方控件示例 App
  4. cocoapod Podfile use frameworks swift/oc混编 could not build module xxx
  5. 002-打开文件管理规范-20190406.bat
  6. left join 右表数据不唯一的情况解决方法
  7. linux alias 别名设置【转载】
  8. python语言几个常见函数的使用
  9. Python学习笔记 --第二章
  10. idea使用优化