題目連結:
題目大意:
有一個人叫小黑,想要在一個長條形的土地上種一些植物。土地長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 一樣,只是這次不是費氏數列,是自定義的二維數列。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。