切換
舊版
前往
大廳
主題

ZeroJudge - c504: 旅行者_九國遊歷記<9> 小黑去鷺國 解題心得

Not In My Back Yard | 2018-09-19 23:57:55 | 巴幣 0 | 人氣 179

題目連結:


題目大意:
有一個人叫小黑,想要在一個長條形的土地上種一些植物。土地長N(0 ≦ N ≦ 100, 000, 000)、寬度為1單位。每個植物佔1平方單位,並有五種顏色紅、橘、藍、綠、棕。

而小黑不喜歡兩株紅色的植物種在相鄰位置上。求種植的方法數。


解題思維:
雖然硬A暴力去做,可以壓線。但是這題有更快的作法——快速冪。

首先,我們先觀察以下的N值:

N=0時,什麼都種不了,所以方法數為1(可以,這很哲學)。
N=1時,種紅的有1種,其他有4種,所以是1+4種。
N=2時,N=1的其他4種的旁邊種上一棵紅色植物,以及N=1方法數的旁邊種其他顏色的植物,所以4+20種。

假設,土地長度為N時,第N格種紅色的方法數有R(N)種,第N格種其他顏色的方法數為T(N)種。

我們可以觀察出:
R(N)=T(N-1)、
T(N)=(R(N-1)+T(N-1)) * 4。

於是,現在我們就可以仿造費氏數列的快速冪的「矩陣」,建造出一個相應的「矩陣」,這部分就交給讀者思考一番。

而快速冪的作法跟 d828 一樣,只是這次不是費氏數列,是自定義的二維數列。



此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作