zsyzlzy

导航

 

前言:

作为一名OIer,数学推导一定不能差。

例子:

用尽量快的方法求以下式子:

  1. i=0n1aibn1i   (nN+)\sum_{i=0}^{n-1} a^i*b^{n-1-i}~~~ (n \in N_+)
  2. i=0n1(1)ian1ibi    (2n)\sum_{i=0}^{n-1}(-1)^i*a^{n-1-i}*b^i~~~~ (2|n)
  3. i=0n1(1)ian1ibi    (n=2k+1,kN+)\sum_{i=0}^{n-1}(-1)^i*a^{n-1-i}*b^i~~~~ (n=2k+1,k\in N_+)
  4. i=1ni2\sum_{i=1}^n i^2

\sum只是为了好看,建议读者把求和式展开。

公式:

  1. anbn=(ab)i=0n1aibn1i   (nN+)a^n-b^n=(a-b)*\sum_{i=0}^{n-1} a^i*b^{n-1-i}~~~ (n \in N_+)
  2. anbn=(a+b)i=0n1(1)ian1ibi    (2n)a^n-b^n=(a+b)*\sum_{i=0}^{n-1}(-1)^i*a^{n-1-i}*b^i~~~~ (2|n)
  3. an+bn=(a+b)i=0n1(1)ian1ibi    (n=2k+1,kN+)a^n+b^n=(a+b)*\sum_{i=0}^{n-1}(-1)^i*a^{n-1-i}*b^i~~~~ (n=2k+1,k\in N_+)
  4. i=1ni2=n(n+1)(2n+1)/6\sum_{i=1}^n i^2=n*(n+1)*(2n+1)/6

推导:

1.                    anbn=(ab)i=0n1aibn1i   (nN+)~~~~~~~~~~~~~~~~~~~a^n-b^n=(a-b)*\sum_{i=0}^{n-1} a^i*b^{n-1-i}~~~ (n \in N_+)

=i=1naibnii=0n1aibni右边=\sum_{i=1}^na^i*b^{n-i}-\sum_{i=0}^{n-1}a^i*b^{n-i}
=anb0a0bn=anbn=a^n*b^0-a^0*b^n=a^n-b^n

2.            anbn=(a+b)i=0n1(1)ian1ibi    (2n)~~~~~~~~~~~a^n-b^n=(a+b)*\sum_{i=0}^{n-1}(-1)^i*a^{n-1-i}*b^i~~~~ (2|n)

=i=0n1(1)ianibii=1n(1)i1anibi=anbn右边=\sum_{i=0}^{n-1}(-1)^i*a^{n-i}*b^i-\sum_{i=1}^n(-1)^{i-1}*a^{n-i}*b^i=a^n-b^n

3. 类似2的证明。

4.        i=1ni2=n(n+1)(2n+1)/6~~~~~~~~\sum_{i=1}^n i^2=n*(n+1)*(2n+1)/6

n3(n1)3=1[n2+(n1)2+n(n1)]n^3-(n-1)^3=1*[n^2+(n-1)^2+n(n-1)]
=n2+(n1)2+n2n=n^2+(n-1)^2+n^2-n
=2n2+(n1)2n=2*n^2+(n-1)^2-n
n313=n3(n1)3+(n1)3(n2)3+2313n^3-1^3=n^3-(n-1)^3+(n-1)^3-(n-2)^3……+2^3-1^3
n313=2(22+32+...+n2)+[12+22+...+(n1)2](2+3+4+...+n)n^3-1^3=2*(2^2+3^2+...+n^2)+[1^2+2^2+...+(n-1)^2]-(2+3+4+...+n)
n31=2(12+22+32+...+n2)2+[12+22+...+(n1)2+n2]n2(2+3+4+...+n)n^3-1=2*(1^2+2^2+3^2+...+n^2)-2+[1^2+2^2+...+(n-1)^2+n^2]-n^2-(2+3+4+...+n)
n31=3(12+22+32+...+n2)2n2(1+2+3+...+n)+1n^3-1=3*(1^2+2^2+3^2+...+n^2)-2-n^2-(1+2+3+...+n)+1
n31=3(12+22+...+n2)1n2n(n+1)/2n^3-1=3(1^2+2^2+...+n^2)-1-n^2-n(n+1)/2
3(12+22+...+n2)=n3+n2+n(n+1)/2=(n/2)(2n2+2n+n+1)=(n/2)(n+1)(2n+1)3(1^2+2^2+...+n^2)=n^3+n^2+n(n+1)/2=(n/2)(2n^2+2n+n+1) =(n/2)(n+1)(2n+1)
12+22+32+...+n2=n(n+1)(2n+1)/61^2+2^2+3^2+...+n^2=n(n+1)(2n+1)/6

结论:

  1. i=0n1aibn1i=(anbn)/(ab)   (nN+)\sum_{i=0}^{n-1} a^i*b^{n-1-i}=(a^n-b^n)/(a-b)~~~ (n \in N_+)
  2. i=0n1(1)ian1ibi=(anbn)/(a+b)    (2n)\sum_{i=0}^{n-1}(-1)^i*a^{n-1-i}*b^i=(a^n-b^n)/(a+b)~~~~ (2|n)
  3. i=0n1(1)ian1ibi=(an+bn/(a+b)    (n=2k+1,kN+)\sum_{i=0}^{n-1}(-1)^i*a^{n-1-i}*b^i=(a^n+b^n)/(a+b)~~~~ (n=2k+1,k\in N_+)
  4. i=1ni2=n(n+1)(2n+1)/6\sum_{i=1}^n i^2=n*(n+1)*(2n+1)/6

1~3O(n)O(log n).都由可以用快速幂从O(n)优化到O(log ~n).

4由O(n)O(1)O(n)优化成O(1).

推广:

如果1~3要求取模,那就用快速幂+乘法逆元。

posted on 2019-07-15 20:40  zsyzlzy  阅读(931)  评论(0编辑  收藏  举报