SCOI2008 著色方案

2022-04-29 20:48:07 字數 617 閱讀 6581

time limit: 10 sec  memory limit: 162 mb

submit: 2228  solved: 1353

[submit][status][discuss]

有n個木塊排成一行,從左到右依次編號為1~n。你有k種顏色的油漆,其中第i種顏色的油漆足夠塗ci個木塊。

所有油漆剛好足夠塗滿所有木塊,即c1+c2+...+ck=n。相鄰兩個木塊塗相同色顯得很難看,所以你希望統計任意兩

個相鄰木塊顏色不同的著色方案。

第一行為乙個正整數k,第二行包含k個整數c1, c2, ... , ck。

輸出乙個整數,即方案總數模1,000,000,007的結果。

31 2 3

10100%的資料滿足:1 <= k <= 15, 1 <= ci <= 5

一道神奇的搜尋

一看資料範圍是挺小的,大概正解也要往這邊靠了。。

可以很容易想到並快速打出乙個暴力dfs,只要維護能不能選和避免上一次相同就可以了

期望得分50分

我們發現對於所有顏色來說,如果不考慮相同條件,那是什麼顏色是無所謂的

對於避免和上乙個一樣,我們可以運用記憶化來快速篩除重複狀態

然後果斷打乙個爆搜就好了啊!

SCOI2008 著色方案

給你 k 種顏料,每種顏料有 c 份,每份顏料塗一塊木板,求恰好用完所有顏料且相鄰兩木板顏色不同的塗色方案種數.1 leq k leq 15 1 leq c leq 5 由於此題資料較小,考慮dp套組合數學,但重複dp運算量極大,考慮記憶化搜尋優化.又因為每種顏料至多5份,模擬烏龜棋,我們可以開乙個...

SCOI2008 著色方案 (狀態壓縮)

題目鏈結 description 有n個木塊排成一行,從左到右依次編號為1 n。你有k種顏色的油漆,其中第i種顏色的油漆足夠塗ci個木塊。所有油漆剛好足夠塗滿所有木塊,即c1 c2 ck n。相鄰兩個木塊塗相同色顯得很難看,所以你希望統計任意兩 個相鄰木塊顏色不同的著色方案。input 第一行為乙個...

SCOI2008 著色方案 高維dp

輸入檔案 color.in輸出檔案 color.out簡單對比 時間限制 1 s 記憶體限制 64 mb 題目背景 有n個木塊排成一行,從左到右依次編號為1 n。你有k種顏色的油漆,其中第i 種顏色的油漆足夠塗ci 個木塊。所有油漆剛好足夠塗滿所有木塊,即 c1 c2 ck n。相鄰兩個木塊塗相同色...