染色問題(n個格仔,3種顏色)

2021-07-11 23:57:15 字數 602 閱讀 5288

有排成一行的n個方格,用紅(red)、粉(pink)、綠(green)三色塗每個格仔,每格塗一色,要求任何相鄰的方格不能同色,且首尾兩格也不同色.求全部的滿足要求的塗法.

遞推公式:

a1 = 3

a2 = 6 //a(3,2)=6

a3 = 6 //a(3,3)=6

an=2*a(n-2)+a(n-1), n>=4

證明:考慮第n-1個格仔:

1. 如果這個格仔和第1個格仔顏色不同,那麼第n個格仔只有1種選擇,前n-1個格仔的選擇就是a(n-1),此時n個格仔的選擇是1*a(n-1)

2. 如果這個格仔和第1個格仔顏色相同,那麼第n個格仔只有2種選擇,前n-2個格仔的選擇就是a(n-2),此時n個格仔的選擇時2*a(n-2)

所以有an=2*a(n-2)+a(n-1), n>=4

remak: 因為我們是考慮第n-1個格仔,該格仔和第1個格仔的顏色可能相同也可能不同,所以n>=4才可以。不然n=3的話,第n-1=3-1=2個格仔和第乙個格仔的顏色必然不同了,就沒有上面這2種情況了,所以要從n>=4開始推導。

m表示色的種數,

fn是方案數

fn=(m-2)fn-1+(m-1)fn-2

染色問題 n個格仔,3種顏色

有排成一行的 個方格,用紅 red 粉 pink 綠 green 三色塗每個格仔,每格塗一色,要求任何相鄰的方格不能同色,且首尾兩格也不同色 求全部的滿足要求的塗法.遞推公式 a1 3 a2 6 a 3,2 6 a3 6 a 3,3 6 an 2 a n 2 a n 1 n 4 證明 考慮第n 1個...

N個扇形M種顏色

題 將乙個圓形等分成n個小扇形,將這些扇形標記為1,2,3,n,現在使用m種顏色對其塗色,要求相鄰兩個扇形顏色不相同。求 有多少種塗色方法?備註 1.不考慮數值越界情況 2.n 1,m 3 3.乙個例子 如果n 3,m 3時,一共有6種塗法 兩種方法 數學公式法 我所搜到的基本都是這種方法 遞迴自己...

m個珠子共n種顏色,找出包含n種顏色的最短連續片段

原題目 題目分析 一 暴力搜尋 1 最簡單的方法 暴力搜尋,逐個掃瞄第i個位置開始包含n中顏色最短區間,時間複雜度為o m 2 2 從i開始掃瞄,每出現一種新的顏色,計數 1 當計數 n時候,結束,此時即為i開始的最短區間 二 1 掃瞄一遍陣列m,計算出每種顏色在陣列m中下一次出現的位置,存在資料n...