题目
n(3<=n<=1e5)个多项式,
,现给出
的第0次项到第n次项系数,第i项是ai满足0<=ai<998244353
对于,
,其中bi,ci满足0<=bi,ci<998244353
现在要求输出的第0项到第n项系数,每个系数均对998244353取模
T(T<=100)组样例,但只有最多3组样例,满足n>1000
思路来源
jyt、tzy
题解
一道看似多项式求导,实则分治NTT/启发式NTT的题目
小范围暴力,大范围NTT,事实上,都NTT也都没事
考虑f1的第i项最后通过求导落到了fn的第j项里,
首先满足i>=j,其次经过了i-j次求导,
递推式可以看成求导或者不求导二选一,求导的话*bi,不求导的话*ci,
这个方案贡献就是(b1x+c1)*(b2x+c2)*...*(bnx+cn),中间x^i-j的系数就是求了i-j次导,
这个可以分治/启发式NTT求一求
然后x^i本身的系数是ai,x^i求导求成x^j,又乘了i*(i-1)*...*(j+1)即i!/j!,
所以,,
xs[]先分治NTT求出来,然后这是一个减法卷积,
常用套路就是把xs[]数组反过来,i下标变n-1-i,再

本文介绍了一道涉及多项式求导和快速数位转换(NTT)的算法题目。题目要求根据给定的多项式系数和求导参数,计算最终的多项式系数,并对大整数取模。作者分享了使用分治NTT解决小规模问题,以及启发式NTT处理大规模数据的思路,并提供了详细的代码实现。文章还提及了在处理效率上的提升和优化经验。
最低0.47元/天 解锁文章
674

被折叠的 条评论
为什么被折叠?



