linux編程的108種奇淫巧計-12(儲存計算)續

來源:互聯網
上載者:User

     接上篇:linux編程的108種奇淫巧計-12(儲存計算)

 

     關於購票問題其實是一個組合數學的問題,有通解可以直接求出。

     我們假定X軸為手持50元的人,Y軸為手持100元的人,那麼一個正確的解等價於從(0,0)到(n,n)的格路問題,每次只能走一格,要麼X加1,要麼Y加1,如下所示的一條紅線為一個8個人的解,即{50,50,100,100,50,50,100,100},先來2個50元的購票者,在來2個100元的購票者,與不例舉。

      由格路問題的定義,從(0,0)到(n,n)的方案數如,但同時要扣除跨過y=x這條對角線的解方案,這等價於從(1,-1)到(n,n)的方案數。因此解得結果為兩數之差,這個值就是Catalan數,因此沒有必要向我們上面給出的方法,而是直接計算即可,在求解階層的實際計算中為了防止大數溢出,可以遍曆一遍找到乘積中2和5的個數,湊成1對,結果末尾就加個0,這樣可以避免一定程度的溢出。

      當然本文主要是為了介紹儲存計算的技巧,借用了這個例子,上文中我們用儲存計算的方法把著每一個方案都枚舉出來。儲存計算就介紹到這裡。

本系列其他文章推薦:http://blog.csdn.net/pennyliang/category/746545.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.