zoukankan      html  css  js  c++  java
  • <学习笔记>《具体数学》

    第一章--递归问题

      引用了三道例题: 河内塔/汉诺塔, 平面上的直线, 约瑟夫问题

      主要涉及方法: 数学归纳法, 成套方法

    1.1--利用数学归纳法, 判断观察得到的结论对于递归式子是否成立

    1.2--成套方法, 解递归式子(感觉类似于解方程)

    例如

    (f(1)=a\ f(2n)=2f(n)+b\ f(2n+1)=2f(n)+c)

    ​ 我们可以设(f(n)=A(n)a+B(n)b+C(n)c)

    ​ 然后我们取((a,b,c)=(1,0,0))可以得到第一组式子

    (f(n)=A(n)\ A(1)=a\ A(2n)=2A(n)\ A(2n+1)=2A(n) (1))

    ​ 接着我们反过来使用递归式子和结论式子

    ​ 即令(forall n f(n)=1)

    (1=a\ 1=2*1+b\ 1=2*1+c\)

    ​ 从而得到一组可能的((a,b,c)=(1,-1,-1))

    ​ 然后得到(1=f(n)=A(n)-B(n)-C(n) (2))

    ​ 以此类推, 我们还可以设(forall n in R f(n)=n)

    ​ 得到另一组可能的((a,b,c)=(1,0,1))

    ​ 然后得到(A(n)+C(n)=n (3))

    ​ 令(f(n)=n^i……)

    ​ 即可解出A(n), B(n), C(n)的表达式

    第二章--求和

    2.1--求和符号(sum)

    通过中括号[]可以用来表示命题P是否成立[P](成立为1, 不成立为0)

    (sum_{p=1}^n[p是素数])可以表示1~n中的素数个数

    (sum_{p=1}^n[p为素数]/p)则表示1~n中的素数的倒数和, 当n很大时, 该式子的值近似于(ln ln n + M),其中(M=0.261497212), 被称作麦尔滕常数

    2.2--和式与递归式

    ​ 1.和式与递归式能够相互转化

    ​ 例如:(S_n=sum_{k=1}^n k) 等价于递归式子

    (S_1=1\ S_n=S_{n-1}+n (n>0))

    ​ 因此能够用第一章中求递归式子的成套方法来求解和式

    ​ 例如:(S_n=sum_{k=0}^n(a+bk))

    ​ 可以设$S(n)=A(n)a+B(n

    ​ 2.求和因子(s_n)--解形如(a_nT_n=b_nT_{n-1}+c_n)的递推式

     理论:

    (a_nT_n=b_nT_{n-1}+c_n\ s_na_nT_n=s_nb_nT_{n-1}+s_nc_n\)

    ​ 令(s_{n-1}a_{n-1}=s_nb_n)

    ​ 可得(s_na_nT_n=s_{n-1}a_{n-1}T_{n-1}+s_nc_n)

    ​ 设(S_n=s_na_nT_n)

    ​ 则有(S_n=S_n-1+s_nc_n)

    ​ 这是一个标准的和式结构(S_n=sum_{k=1}^n s_kc_k+S_0)

    ​ 则(s_na_nT_n=sum_{k=1}^n s_kc_k+s_0a_0T_0)

    ​ 由于a_0没有定义

    ​ 所以(s_na_nT_n=sum_{k=1}^n s_kc_k+s_1b_1T_0)

     求和因子的选取:

    ​ 因为(s_nb_n=s_{n-1}a_{n-1})

    ​ 则(s_n=frac{s_{n-1} a_{n-1}}{b_n}=s_{n-1}frac{a_{n-1}}{b_n})

    ​ 可以得到(s_n=s_1prod_{k=2}^{n-1}frac{a_k}{b_{k+1}})

    ​ 因为(T_1=(s_1b_1T_0+s_1c_1)/s_1a_1=(b_1T_0+c_1)/a_1)

    ​ 可知(s_1)为和值对(T_1)无影响

    ​ 因此我们可以归纳为(s_n=prod_{k=1}^{n-1}frac{a_k}{b_{k+1}})

    ​ 3.调和级数(H_n)与求解递归式的技巧

       例如:
    (C_0=C_1=0)
    (C_n=n+1+frac{2}{n}sum_{k=1}^{n-1}C_k)

    ​ 可以发现存在(sum)存在(frac{1}{n})不容易求出较快的求出(C_n)

    ​ 可以利用两边同时( imes n)来解决(frac{1}{n})的问题

    ​ 利用((n-1)C_{n-1}=(n-1)^2+(n-1)+2sum_{k=1}^{n-2}C_k)

    (nC_n-(n-1)C_{n-1}=2n-1+1+2C_{n-1})

    ​ 从而得出(C_n)(C_{n-1})的关系

    (H_n=sum_{k=1}^nfrac{1}{k})

    ​ 当n足够大的时候, (H_napprox lnx)

    2.3--和式的处理

    ​ 1.三个基本定律

    ​ 分配律:(sum_{k=1}^nCcdot a_k=Csum_{k=1}^na_k)

    ​ 结合律:(sum_{k=1}^n(a_k+b_k)=sum_{k=1}^na_k+sum_{k=1}^nb_k)

    ​ 交换律:(sum_{kin N}a_k)​​=(sum_{p(k)in N}a_{p(k)})

    ​ 2.扰动法求解和式

    ​ 思想:把最后一项和第一项分出来, 来达到求解和式的封闭形式的问题

    ​ 类似于这样:

    ​ 令(S_n=sum_{k=0}^na_k)

    (S_n+a_{n+1}=S_0+sum_{k=1}^{n+1}a_k)

    ​ 交换律:(S_n+a_{n+1}=S_0+sum_{k=0}^{n}a_{k+1})

    ​ 如果可以获得(a_{k+1})(a_k)的关系, 我们就有可能把后面那个和式用(S_n)表达出来

    ​ 比如

    (S_n=sum_{k=0}^nkcdot2^k)

    (S_n+(n+1)2^{n+1}\=S_0+sum_{k=1}^{n+1}k2^k\=S_0+sum_{k=0}^n(k+1)2^(k+1)\=S_0+2sum_{k=0}^n(k+1)2^k\=S_0+sum_{k=0}^n(k2^k+2^k)\=S_0+S_n+sum_{k=0}^n2^k)

    2.4--多重和式

    ​ 1.交换求和次序的基本法则:

    (sum_{j=1}^nsum_{k=1}^na_jb_k=(sum_{j=1}^na_j)(sum_{k=1}^nb_k))

    ​ 也即我们可以通过对和式的变形, 使得和式相对的好求

    ​ (实质上是结合律)

    ​ 该法则的变形可以有:

    (sum_{j=1}^nsum_{k=j}^na_{j,k}=sum_{1leq jleq kleq n}a_{j,k}=sum_{k=1}^nsum_{j=1}^ka_{j,k})

    ​ 通常情况下会有一个和式比另一个和式好算的情况出现

    ​ 例如:

    (S_n=sum_{1leq j<k+jleq n}frac{1}{k})

    ​ 关于这个和式我们可以这么变换

    (sum_{1leq j<k+jleq n}frac{1}{k}=sum_{j=1}^nsum_{k=1}^{n-j}frac{1}{k})​​

    ​ 我们会发现这样并不好计算

    ​ 于是我们可以这么变换, 把k放到前面来

    ​ 于是这个式子就变成了(sum_{1leq j<k+jleq n}frac{1}{k}=sum_{k=1}^nsum_{j=1}^{n-k}frac{1}{k})

    ​ 于是这个式子的结果就变成了(S_n=sum_{k=1}^nfrac{n-k}{k}=nsum_{k=1}^nfrac{1}{k}-n)

    ​ 而(sum_{k=1}^nfrac{1}{k}=H_n)

    ​ 2.如果一个和式(S_n=sum_{j=1}^nsum_{k=1}^ja_{j,k}=sum_{k=1}^nsum_{j=1}^ka_{k,j})

    ​ 我们称该式子具有对称性(也即(a_{j,k}=a_{k,j})

    ​ 遇到这种式子我们可以这么处理

    ​ 利用([1leq jleq kleq n]+[1leq kleq jleq n]=[1leq j,kleq n]+[1leq j=kleq n])来化简和式

    ​ 或者是利用([1leq j< kleq n]+[1leq k< jleq n]=[1leq j,kleq n]-[1leq j=kleq n])

    ​ 这个(n^2)的矩阵可以通过两个序列相乘得到, 也即(a_{j,k}=b_jc_k)那么我们可以把后面这个([1leq j,kleq n])的部分化简成单重和式, 从而降低求解的难度

  • 相关阅读:
    任务五:基础JavaScript练习(二)
    任务四:基础JavaScript练习(一)
    JS判断一个对象为空对象
    任务三:零基础JavaScript编码(三)
    任务二:零基础JavaScript编码(二)
    任务一:零基础JavaScript编码(一)
    Jquery点击按钮 异步和同步提交表单
    2019 Google 开发者大会直播完整版
    Android 10 开发亮点有哪些?
    2019Android多线程面试总结
  • 原文地址:https://www.cnblogs.com/gllonkxc/p/15184174.html
Copyright © 2011-2022 走看看