天籟數學——數列篇(1)


   

       好久沒寫博客了,這個系列就來聊聊數學,我們知道數學是一種工具,更是一種思想,在我們的日常生活和工作中都有廣泛的應用。

       比如算法中有一種叫做“遞推思想”,轉化到數學上來說就是“數列”,而我們苦逼的coding,復雜度搞死也只能控制在O(N),但有沒有

想過對這種問題可以一針見血,一刀斃命,這就需要用到“數學”上的知識。猴子吃桃 問題就是一個活生生的例子,評論上給出了很好的解決方

案,學習數學就應該能讓它解決點實際上的問題,下面來推導一下。

     為了方便,將遞推公式寫成:

  an=2an-1+2  ①

已知首項:a1=1

將①變形得

 an+2=2(an-1+2)        ②

由②可推導

 an-1+2=2(an-2+2)    ③

 an-2+2=2(an-3+2)    ④

   ...

 a3+2=2(a2+2)          ...

 a2+2=2(a1+2)          ...

然后我們將這N-1項相乘,化簡得

an+2=2n-1(a1+2)  ⑤

又因為 a1=1 則通項公式為

an=2n-1*3-2        ⑥

根據”遞推公式“我們求出了”通項公式“,現在我們可以秒殺任何一天的桃子數量,現在又來問題了,如何求出前N天的桃子總和,在

數列中對應的就是求前n項和的問題,在得知an的情況下,求Sn也是秒殺效果。

⑥式是典型的{nan+bn}模型,針對這個模型,我們拆分成{nan}+{bn},然后分別計算它們的前n項和,最后合並。

<1>   3*2n-1 的前n項和為:   Sn=3*20+3*21+3*22+3*23+...+ 3*2n-1         

變形⑦可知                  2Sn=3*21+3*22+3*23+...+3*2n                  ⑧

⑦-⑧得(錯位相減)

                                 -Sn=3*20-3*2n

                         =>    Sn=3*2n-3                                            

<2>  2的前n項和為: =>    Tn=2n

綜合兩部分結果可知:Sm=3*2m-3-2m。

最后我們推導出了 猴子吃桃 問題的前n項和,當你苦逼coding的時候,人家早已推導出了,而且復雜度宇宙第一...

 

上面的場景只是想讓大家知道數列對我們來說非常重要,后面我會拿算法上的題目用數學來KO,讓你知道不懂數學簡直就弱爆了

作為數列專題篇,基礎知識必不可少,同樣我也可以鞏固和復習,嘿嘿。

 

在數列中:通項公式,遞推公式,前n項和始終貫穿於數列學習的始終,首篇要了解下面幾點:

①:  能夠目測簡單數列的通項公式。

        比如:1,4,9,16,..... 

               1,0,1,0....

②:  能夠根據遞推公式求數列的通項公式,比如(猴子吃桃問題)

③:  能夠根據數列的前n項和求數列的通項公式。

         an=    s1         (n=1)

                   sn-sn-1 (n>=2)

④: 能夠求數列的前n項的和Sn

       常用方法:倒序相加,錯位相減, 分項相消法(有技巧),倍數法。

⑤: 能夠理解{an+bn},{anbn}模型的前N項求和問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM