zoukankan      html  css  js  c++  java
  • 牛客IOI周赛17-提高组 卷积 生成函数 多项式求逆 数列通项公式

    LINK:卷积

    思考的时候 非常的片面 导致这道题没有推出来。

    虽然想到了设生成函数 G(x)表示最后的答案的普通型生成函数 不过忘了化简 GG.

    容易推出 (G(x)=frac{F(x)}{1-F(x)})

    多项式求逆一下再卷积一下即可。(nlogn).

    有dalao 提出了求通项公式的做法 对多项式求出类似于泰勒展开式那样的封闭形式.

    然后 带入G进行化简 最终再由通项公式推出来。推出通项可以可以递推可以矩阵乘法优化 O(n)/(logn).

    做法 来自@Lskkkno1 :

    avatar

    很妙的求通项的方法 不过我不太熟悉这方面的知识. 还需要多加理解!

    const ll MAXN=2000010,GG=3;
    ll n,a,b;
    ll f[MAXN];
    signed main()
    {
    	//freopen("1.in","r",stdin);
    	get(n);get(a);get(b);
    	f[1]=1;
    	rep(2,n,i)f[i]=((a+1)*f[i-1]+b*f[i-2])%mod;
    	putl(f[n]);return 0;
    }
    
  • 相关阅读:
    作业
    Java总结
    十四周总结
    十二周课程总结
    十一周总结
    自我介绍
    第二次
    第十二周作业
    第九周作业
    第十三周课程总结
  • 原文地址:https://www.cnblogs.com/chdy/p/13059764.html
Copyright © 2011-2022 走看看