在平面上给出 n n n个点的坐标 { x i , y i } \{x_i,y_i\} {xi,yi},求唯一的 n − 1 n-1 n−1次多项式 f f f,满足 ∀ i ∈ [ 1 , n ] , f ( x i ) = y i \forall i\in[1,n],f(x_i)=y_i ∀i∈[1,n],f(xi)=yi,即经过这 n n n个点
显然,这 n n n个 x x x互不相同
设多项式 l j = ∏ i = 1 , i ≠ j n x − x i x j − x i l_j=\prod_{i=1,i\not=j}^{n}\frac{x-x_i}{x_j-x_i} lj=∏i=1,i=jnxj−xix−xi
显然
l j ( i ) = { 0 x i ≠ x j 1 x i = x j l_j(i)=\left\{ \begin{aligned}&&&0&&x_i\not=x_j\\&&&1&&x_i=x_j\end{aligned} \right. lj(i)={01xi=xjxi=xj
f ( x ) = ∑ i = 1 y i × l i ( x ) f(x)=\sum_{i=1}y_i\times l_i(x) f(x)=i=1∑yi×li(x)
∀ i ∈ [ 1 , n ] , x i ∈ [ 1 , n ] \forall i\in[1,n],x_i\in[1,n] ∀i∈[1,n],xi∈[1,n]怎么快速求 f ( q w q ) f(qwq) f(qwq)?
l j = ∏ i = 1 , i ≠ j n x − i j − i l_j=\prod_{i=1,i\not=j}^n\frac{x-i}{j-i} lj=i=1,i=j∏nj−ix−i
上面用两个数组维护一下 ∏ q w q − i \prod qwq-i ∏qwq−i,下面阶乘+逆元
f
(
q
w
q
)
=
∑
i
=
1
n
y
i
×
l
i
(
q
w
q
)
f(qwq)=\sum_{i=1}^ny_i\times l_i(qwq)
f(qwq)=i=1∑nyi×li(qwq)
=
∑
i
=
1
n
y
i
×
∏
j
=
1
i
−
1
q
w
q
−
j
i
−
j
×
∏
j
=
i
+
1
n
q
w
q
−
j
i
−
j
=\sum_{i=1}^ny_i\times \prod_{j=1}^{i-1}\frac{qwq-j}{i-j}\times \prod_{j=i+1}^{n}\frac{qwq-j}{i-j}
=i=1∑nyi×j=1∏i−1i−jqwq−j×j=i+1∏ni−jqwq−j
=
∑
i
=
1
n
y
i
×
∏
j
=
1
i
−
1
q
w
q
−
j
(
i
−
1
)
!
×
(
−
1
)
n
−
i
∏
j
=
i
+
1
n
q
w
q
−
j
(
n
−
i
)
!
=\sum_{i=1}^ny_i\times\frac{\prod_{j=1}^{i-1}qwq-j}{(i-1)!}\times (-1)^{n-i}\frac{\prod_{j=i+1}^{n}qwq-j}{(n-i)!}
=i=1∑nyi×(i−1)!∏j=1i−1qwq−j×(−1)n−i(n−i)!∏j=i+1nqwq−j
=
∑
i
=
1
n
(
−
1
)
n
−
i
×
y
i
×
∏
j
=
1
n
q
w
q
−
j
(
i
−
1
)
!
×
(
n
−
i
)
!
×
(
q
w
q
−
i
)
=\sum_{i=1}^n(-1)^{n-i}\times y_i\times \frac{\prod_{j=1}^nqwq-j}{(i-1)!\times (n-i)!\times (qwq-i)}
=i=1∑n(−1)n−i×yi×(i−1)!×(n−i)!×(qwq−i)∏j=1nqwq−j