zoukankan      html  css  js  c++  java
  • 多项式的化简求法

    前言:

    作为一名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,kin N_+)
    4. i=1ni2sum_{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,kin N_+)
    4. i=1ni2=n(n+1)(2n+1)/6sum_{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,kin N_+)
    4. i=1ni2=n(n+1)(2n+1)/6sum_{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要求取模,那就用快速幂+乘法逆元。

  • 相关阅读:
    vue-cli3配置开发环境和生产环境
    vue配置开发环境和生产环境
    js实现div拖拽互换位置效果
    axios用post提交的数据格式
    面试题会被问及哪些?(总结)
    深入理解vue
    nodejs 前端项目编译时内存溢出问题的原因及解决方案
    MUI框架开发HTML5手机APP(一)--搭建第一个手机APP
    关于if省略{}时的一些问题
    函数声明的两种形式的区别
  • 原文地址:https://www.cnblogs.com/zsyzlzy/p/12373907.html
Copyright © 2011-2022 走看看