【51nod 1538】 一道难题 - n阶常系数线性递推

原创 2017年01月04日 08:46:14

  题意:给定a,求

(ni=1aibi)=m(ni=1bi)!ni=1(bi!)

  m1018,ai[1,23333],bi0

【奇怪的背景】
  不知道多少天前。。。
  Q神:hgr你有 nlognlogk 求 n 阶线性递推第 k 项的板子吗
  我:好像没有啊。。。
  Q神:这个辣鸡51nod出了个裸题,写不动了
  于是看了波题。。。然后一脸懵逼???这怎么就线性递推了???
  然后这题就鸽了

  最近似乎比较有空。。。冷静一下之后推了一波这个题发现。。。怎么出个裸题啊
  这个式子看起来比较吓人。。其实是在搞笑。。。
  设Fm=(ni=1aibi)=m(ni=1bi)!ni=1(bi!)
  我们稍微加上个东西然后一波xjb变换
  

Fm=(ni=1aibi)=m(ni=1bi)!ni=1(bi!)nj=1bj[bj>0]ni=1bi  =j=1n(ni=1aibi)=m[bj>0](ni=1bi1)!ni=1(bi!)bj  =j=1n(ni=1aibi)=m[bj>0](ni=1bi1)!(bj1)!ij(bi!)  =j=1n(ni=1aibi)=m[bj10](ni=1bi1)!(bj1)!ij(bi!)  =j=1n(ni=1aibi)=maj[bj0](ni=1bi)!ni=1(bi!)

  因为bi0,所以直接有
  
Fm=i=1nFmai

  于是直接套n阶常系数齐次线性递推就行了。
  具体如何实现的话。。。叉姐论文和picks老师的博客有讲。。。这东西要完整地写出来不太好写。。。式子太多了= =
  而且这玩意写起代码来也是蛋疼的一b。。。
  
  有个东西我还不太清楚。。。比如现在递推式是fm=ni=1cifmi。。。然后要先求初值f0...fn对吧。。。然而似乎除了直接用生成函数搞个F(z)=11C(z)以外我没有想到别的复杂度更好的办法。。。(虽然这里多项式求逆和分治FFT速度好像没啥区别了hhhhh)
  然而这里一点都不瓶颈的样子→_→
  
  代码太丑了不贴了其实是TLE到现在弃疗了
  UPD:终于过了。。。辣鸡数据错了卡我这么久。。。有两个点的a_1是会大于23333的,要把他忽略掉。。。GTMD。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

常系数线性递推式的快速求单项值方法

常系数线性递推式的快速求单项值方法前导知识 常系数线性递推式 形如f(n)=∑ki=1aif(n−i)f(n)=\sum_{i=1}^{k} a_if(n-i),其中kk、aia_i为常数的递推式,...

joj 2453 candy 网络流建图的题

Problem D: Candy As a teacher of a kindergarten, you have many things to do during a day, one of wh...

51nod 1242 斐波那契数列的第N项(O(logn)求递推式)

51nod 1242 斐波那契数列的第N项(O(logn)求递推式)斐波那契数列的第N项,我们已知的用递推式求(O(n)),用递归更加慢。 那么我们使用一种(O(logn))的算法,来学习下呗。它叫...

常系数齐次线性递推优化矩阵快速幂

一般矩阵快速幂的形式 : f(n)=∑i=1k1aif(n−i)+∑i=1k2big(n−i)+bf(n)=\sum_{i=1}^{k_1} a_if(n-i)+\sum_{i=1}^{k_2}b_...

【BZOJ4944】【NOI2017】泳池 概率DP 常系数线性递推 特征多项式 多项式取模

题目大意  有一个1001×n1001\times n的的网格,每个格子有qq的概率是安全的,1−q1-q的概率是危险的。  定义一个矩形是合法的当且经当: 这个矩形中每个格子都是安全的 必须紧贴网格...
  • ez_yww
  • ez_yww
  • 2017年11月30日 18:51
  • 56

51nod-【1126 求递推序列的第N项】

1126 求递推序列的第N项 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 有一个序列是这样定...
  • Cai_Nia
  • Cai_Nia
  • 2016年11月11日 15:07
  • 265

51 nod 1126 求递推序列的第N项(矩阵快速幂)

有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值。 Input...
  • naipp
  • naipp
  • 2016年07月31日 12:23
  • 89

51nod--1126 求递推序列的第N项

题目描述基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【51nod 1538】 一道难题 - n阶常系数线性递推
举报原因:
原因补充:

(最多只允许输入30个字)