题目大意
有一个长度为 的数列 ~,进行 次操作,每次操作给定一个整数 (),将 数列变成 数列:
求最终的数列。
题解
您好,您的多项式能力为 0,请做题
先是有一个经典的转换:设 数列的生成函数为 ,考虑 数列经过一次 操作变成 数列,那么它们的生成函数是这样的:
一次操作相当于给 乘一个多项式,那么操作顺序是不要紧的,因此三种操作分别对应三个多项式:、、。
然后这三个多项式都可以先算出来(系数都是组合数),那么对于原序列就是 3 次 NTT 的事儿。
时间
有一个长度为 的数列 ~,进行 次操作,每次操作给定一个整数 (),将 数列变成 数列:
求最终的数列。
您好,您的多项式能力为 0,请做题
先是有一个经典的转换:设 数列的生成函数为 ,考虑 数列经过一次 操作变成 数列,那么它们的生成函数是这样的:
一次操作相当于给 乘一个多项式,那么操作顺序是不要紧的,因此三种操作分别对应三个多项式:、、。
然后这三个多项式都可以先算出来(系数都是组合数),那么对于原序列就是 3 次 NTT 的事儿。
时间