14- II. 剪繩子 II,取模

14- II. 剪繩子 II

image.png

思路:

14- I. 剪繩子相比,多了取模。
因爲最後結果以指數形式增加,可能會超int32 甚至int64,
image.pngsegmentfault

若只在最終結果求餘:
image.png
所以須要逐步求餘,求餘具備結論以下:優化

(xy)%p = [(x%p)(y%p)]%p
(x^a)%p = ((···(x%p)*x%p)····*x%p)

所以採用循環求餘的方法:
每乘一次3,取一次模,最後return再取一次模。spa

操做:

image.png
官方:
n=4沒有操做,能夠優化掉
image.pngcode

  • 注意:get

    • 最終結果res用long型來接收
    • 最終return res*n%1000000007,就考慮了餘數爲0,1,2以及4的狀況。
相關文章
相關標籤/搜索