求自然数幂和: ![](http://codeforces.com/predownloaded/21/91/2191dfcf240451342ff89bfb59498df9a6f83501.png)
1<=n<=10^5,1<=k<=10^5 用快速幂;
1<=n<=10^9,1<=k<=10^6 用拉格朗日插值法;
1.什么是拉格朗日插值法
拉格朗日插值法,就是对于给定的几个点找到关于这几个点的函数;
以下是拉格朗日插值法的具体使用:
对某个多项式函数,已知有给定的k + 1个取值点:
-
{\displaystyle (x_{0},y_{0}),\ldots ,(x_{k},y_{k})}
其中{\displaystyle x_{j}}
对应着自变量的位置,而{\displaystyle y_{j}}
对应着函数在这个位置的取值。
假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为:
-
{\displaystyle L(x):=\sum _{j=0}^{k}y_{j}\ell _{j}(x)}
其中每个{\displaystyle \ell _{j}(x)}
为拉格朗日基本多项式(或称插值基函数),其表达式为:
-
{\displaystyle \ell _{j}(x):=\prod _{i=0,\,i\neq j}^{k}{\frac {x-x_{i}}{x_{j}-x_{i}}}={\frac {(x-x_{0})}{(x_{j}-x_{0})}}\cdots {\frac {(x-x_{j-1})}{(x_{j}-x_{j-1})}}{\frac {(x-x_{j+1})}{(x_{j}-x_{j+1})}}\cdots {\frac {(x-x_{k})}{(x_{j}-x_{k})}}.}
[3]
拉格朗日基本多项式{\displaystyle \ell _{j}(x)}
的特点是在{\displaystyle x_{j}}
上取值为1,在其它的点{\displaystyle x_{i},\,i\neq j}
上取值为0。
举例:
假设有某个二次多项式函数{\displaystyle f}
,已知它在三个点上的取值为:
- {\displaystyle f(4)=10}
![f(4)=10](https://wikimedia.org/api/rest_v1/media/math/render/svg/1374099884c184004c2293a9c54f092748ec43a9)
- {\displaystyle f(5)=5.25}
![f(5)=5.25](https://wikimedia.org/api/rest_v1/media/math/render/svg/6ce503c84ab7f94f6b45bf4bae289d42d1b2b28f)
- {\displaystyle f(6)=1}
![f(6)=1](https://wikimedia.org/api/rest_v1/media/math/render/svg/23de22c0c86c8ad17f5291d6749a0974360f686f)
要求{\displaystyle f(18)}
的值。
首先写出每个拉格朗日基本多项式:
-
{\displaystyle \ell _{0}(x)={\frac {(x-5)(x-6)}{(4-5)(4-6)}}}
-
{\displaystyle \ell _{1}(x)={\frac {(x-4)(x-6)}{(5-4)(5-6)}}}
-
{\displaystyle \ell _{2}(x)={\frac {(x-4)(x-5)}{(6-4)(6-5)}}}
然后应用拉格朗日插值法,就可以得到{\displaystyle p}
的表达式({\displaystyle p}
为函数{\displaystyle f}
的插值函数):
-
{\displaystyle p(x)=f(4)\ell _{0}(x)+f(5)\ell _{1}(x)+f(6)\ell _{2}(x)}
-
{\displaystyle .\,\,\,\,\,\,\,\,\,\,=10\cdot {\frac {(x-5)(x-6)}{(4-5)(4-6)}}+5.25\cdot {\frac {(x-4)(x-6)}{(5-4)(5-6)}}+1\cdot {\frac {(x-4)(x-5)}{(6-4)(6-5)}}}
{\displaystyle .\,\,\,\,\,\,\,\,\,\,={\frac {1}{4}}(x^{2}-28x+136)}
此时代入数值{\displaystyle \ 18}
就可以求出所需之值:{\displaystyle \ f(18)=p(18)=-11}
。
注意:
共k+1个取值点,根据拉格朗日插值法可以得到关于这k+1个点的k次多项式;
2.拉格朗日插值法怎么求自然数幂和
求自然数幂和:
当k=1时,自然数幂和的公式为n(n+1)/2,为2次多项式,也就是k+1次多项式;
若k=k呢,则自然数幂和的公式便为k+1次多项式,那么需要得到k+2个点来得到这个k+1次多项式哦;
首先如果得知了