[f(k) = sum_{i = 1}^{n} y_i prod_{i
ot = j} frac{k - x_j}{x_i - x_j}
]
证明直接带入,假设(k=x_1),那么除了第一项,别的每一项都会有((x_1-x_1))的分子,乘起来都是(0)。而第一项,后面累乘的每项都恰好为(1),所以(f(x_1)=y_1)
然后如果我们取一段连续的(x_i=i),有
(S_k(n)=sumlimits_{i=1}^{k+2}S_k(i)prodlimits_{i ot ={j}}dfrac{n-j}{i-j})
分别把分子、分母拆开,预处理,可以做到(O(k))
它可以应用到(dp)上。具体的,如果(dp)有一维的值域明显很大,考虑答案是否可以表示为较低次多项式,从而用拉格朗日插值求解。
具体的,比如CF995F Cowmpany Cowmpensation中,有
[g_{x,j}-g_{x,j-1}=f_{x,j}=prod_{yin{son_x}}g_{y,j}
]
那么(g_{i,j})为一个次数不超过(sz_i)的多项式。所以我们只要处理到(g_{1,n+1})即可,不用算到(g_{1,d})