我们的目标是求$\sum\prod_{i=1}^m F_{a_i}$

设$f(i) = \sum\prod_{j=1}^i F_{a_j}$
那么$f(i - 1) = \sum\prod_{j=1}^{i - 1} F_{a_j}$
又有递推式$f(i) = \sum_{j = 1}^{i - 1}f(j) * F_{a_i - j}$

那么推吧
$$f(i) - f(i - 1)$$
$$=\sum_{j = 1}^{i - 1}f(j) * F_{a_i - j} - \sum_{j = 1}^{i - 2}f(j) * F_{a_i -1- j}$$
$$=f(i - 1) * F_{a_1} + \sum\prod_{i=1}^{i - 2} f(j) * (F_{a_i - j} - F_{a_i - 1 - j})$$
$$= f(i - 1) + \sum\prod_{i=1}^{i - 2} f(j) * F_{a_i - 2 - j}$$
$$= f(i - 1) + f(i - 2)$$

所以$$f(i) = 2 * f(i - 1) + f(i - 2)$$

法二:(我觉得巨妙)
设 g[i] 为i的lqp拆分的权值和,则 $g[i] = ∑f[j] * g[i-j] + f[i]$, 其中 $g[0] = 0, g[1] = 1$
设 $A = ∑f[i] * x^i , B = ∑g[i] * x^i$ ,那么 => $B = A*B + A$
解一下 B ,发现 $B = A/(1-A)$
又∵ A的闭形式是 $x/(1 - x - x^2)$ [斐波那契数的生成函数闭形式]
∴ $B = x/(1 - 2x - x^2)$ ,于是直接由B的特征根 得出g[]的递推式 => $g[i] = 2*g[i-1] + g[i-2]$.
转自金爷爷哈哈的题解

[国家集训队]整数的lqp拆分的更多相关文章

  1. BZOJ 2173 luoguo P4451 [国家集训队]整数的lqp拆分

    整数的lqp拆分 [问题描述] lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 , ...

  2. Luogu4451 [国家集训队]整数的lqp拆分

    题目链接:洛谷 题目大意:求对于所有$n$的拆分$a_i$,使得$\sum_{i=1}^ma_i=n$,$\prod_{i=1}^mf_{a_i}$之和.其中$f_i$为斐波那契数列的第$i$项. 数 ...

  3. 洛谷P4451 [国家集训队]整数的lqp拆分 [生成函数]

    传送门 题意简述:语文不好不会写,自己看吧 思路如此精妙,代码如此简洁,实是锻炼思维水经验之好题 这种题当然是一眼DP啦. 设\(dp_n\)为把\(n\)拆分后的答案.为了方便我们设\(dp_0=1 ...

  4. 洛谷P4451 [国家集训队]整数的lqp拆分(生成函数)

    题面 传送门 题解 我对生成函数一无所知 我们设\(F(x)\)为斐波那契数列的生成函数,\(G(x)\)为答案的生成函数,那么容易得到递推关系 \[g_n=\sum_{i=0}^{n-1}f_ig_ ...

  5. 洛谷 P4451 [国家集训队]整数的lqp拆分

    洛谷 这个题目是黑题,本来想打表的,但是表调不出来(我逊毙了)! 然后随便打了一个递推,凑出了样例, 竟然. 竟然.. 竟然... A了!!!!!!! 直接:\(f[i]=f[i-1]*2+f[i-2 ...

  6. P4451 [国家集训队]整数的lqp拆分

    #include <bits/stdc++.h> using namespace std; typedef long long LL; inline LL read () { LL res ...

  7. [国家集训队]整数的lqp拆分 数学推导 打表找规律

    题解: 考场上靠打表找规律切的题,不过严谨的数学推导才是本题精妙所在:求:$\sum\prod_{i=1}^{m}F_{a{i}}$ 设 $f(i)$ 为 $N=i$ 时的答案,$F_{i}$ 为斐波 ...

  8. P4451-[国家集训队]整数的lqp拆分【生成函数,特征方程】

    正题 题目链接:https://www.luogu.com.cn/problem/P4451 题目大意 给出\(n\),对于所有满足\(\sum_{i=1}^ma_i=n\)且\(\forall a_ ...

  9. [BZOJ2173]整数的lqp拆分

    [题目描述] lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 ,a2 ,a3…am ...

随机推荐

  1. JEECG 单点登录 SSO

    jeecg中用户登录的唯一性-CSDN问答https://ask.csdn.net/questions/656639 JEECG 集成KiSSO单点登录实现统一身份认证 - zhangdaiscott ...

  2. TortoiseGit push免输密码

    (ฅ>ω<*ฅ) 噫又好了~ TortoiseGit push免输密码的方法 – 晨旭的博客~https://www.chenxublog.com/2016/03/04/tortoiseg ...

  3. Ubuntu 12.04 安装socks5代理服务器dante-server

    dante-server是一个很好的socks4/5代理服务器软件. 使用apt-get安装   1 apt-getinstall dante-server 添加一个用户   1 2 useradd ...

  4. 剑指offer(10)

    题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路: 如果忽略题目中 ...

  5. Python基础知识2-内置数据结构(上)

     分类 数值型 用浮点型的时候注意别和"=="一起使用. 数字的处理函数 注意round()函数的特殊:四舍六入五取偶 类型判断 列表list 列表list定义 初始化 列表索引访 ...

  6. Hbase 架构体系

    有2个节点进程,一个是master,另一是regionserver.

  7. Python cmd库的简易使用

    简单记录一下,竟然这么简单的方法就能在 python 里面实现一个简单的交互式命令行以前从来没有尝试过. 上一个完整的例子: import cmd import osimport readline r ...

  8. SSM框架整合系列——第一步

    环境: JDK8 idea2018.2 maven3.5 spring和springMVC是天然集成,所以只需要解决mybatis和spring的整合问题,重点整合mybatis和spring的两个东 ...

  9. qtp自动化测试-条件语句 if select case

    1 if 语句 if  condition  then end if If condition Then   [statements] [ElseIf condition-n Then   [else ...

  10. JavaScript之Json的使用

    Json字符串转JavaScript对象 <html> <body> <h3>通过 JSON 字符串来创建对象</h3> <p> First ...