树形结构
枚举根节点的儿子是哪两个
然后列出方程:
然后有EGF的影子!
倍增?
泰勒展开可以把未知数从函数里拿出来!并且变成1次项,
只要计算h(F0(x))以及h'(F0(x))
考虑把F(x)有关项移到左边
想办法把导数或者积分放到等号右边
乘上一个关键的v(x)
因为这个东西可以和F(x)的系数凑成v'(x)
然后函数相乘求导的逆运算凑回去
左边都是导数啦
直接积分,再除过去v(x),
就可以直接倍增啦!!
多项式全家桶
il Poly sol(const Poly &C,int n){ if(n==2){ Poly f0;f0.resize(2);f0[0]=0;f0[1]=1; return f0; } Poly f0=sol(C,(n+1)>>1); Poly tmp;tmp.resize(n); for(reg i=0;i<n;++i){ tmp[i]=C[i]; } Poly lp=tmp*f0; lp.resize(n); Poly v=Exp(Inter(lp)); v.resize(n); lp=lp*f0; lp.resize(n); tmp=Inv(v,v.size())*(lp*(mod-iv2)+1); tmp.resize(n); tmp=v*Inter(tmp); tmp.resize(n); return tmp; }
注意是生成函数,C开始是1/i!,最后得到的F要乘上i!
转载于:https://www.cnblogs.com/Miracevin/p/10728023.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100978.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...