题意:给定n和h,求节点数为n(n<2^18)且高度为h(h<15)的平衡二叉树有多少种(mod 3*2^18+1)。
思路:直接dp的话复杂度为O(n*h*n),其实仔细观察它的状态转移方程,可以发现它其实就是一个卷积,也就是说对于某个高度的多项式f[h]来说,它可以由f[h-1]和f[h-2]的多项式乘法得到,那么我们就可以用NTT来加速计算过程。
自己太弱做了一晚上并没有学透NTT的原理....只学会了套模板.....模板转自http://blog.csdn.net/ACdreamers/article/details/39026505
里面有详细解释,还有另一篇写的不错的博客 http://blog.miskcoo.com/2015