數學 JZOJ 4248 n染色

2021-09-10 09:38:37 字數 1057 閱讀 4210

有乙個每條邊都不相等的n

nn邊形,有m

mm種顏色。我們要給每條邊塗上顏色使得相鄰的兩條邊都不相等,求總方案數。

設f

if_i

fi​為i

ii條邊時的答案,那麼:fi=

mi−f

i−

1f_i=m^i-f_

fi​=mi

−fi−

1​,代表用總的方案數減去不合法的方案數。

從f i−

1f_

fi−1

​加一條邊有m

im^i

mi種方法。不合法的方案:我們把新加的邊和它相鄰的一條邊看成顏色相同的同一條邊,這是不合法的,這種方案數有fi−

1f_

fi−1​種。

然後可以發現:

f i=

mi−(

mi−1

−(mi

−2−f

i−3(

f_i=m^i-(m^-(m^-f_(

fi​=mi

−(mi

−1−(

mi−2

−fi−

3​(…一直到1))))

)),然後一直到1

11,我們就可以發現其中的規律:

f n=

(m−1

)n+(

m−1)

∗(−1

)n

f_n=(m-1)^+ (m - 1) * (-1)^n

fn​=(m

−1)n

+(m−

1)∗(

−1)n

#include

const

int p =

1e9+7;

long

long n;

int m;

intpower

(int a,

long

long b)

return result;

}int

main()

HDU 4248 DP與組合數學

include include const int maxn 110 const int mod 1e9 7 int c maxn maxn maxn num maxn long long dp maxn maxn maxn int n,kase void init int main int arg...

公牛數學 jzoj 1896

題目描述 公牛在數學方面比奶牛強很多,他們自稱可以計算很大的整數之間的乘法,並得到精確的結果。農夫約翰想知道他們的答案是否正確。請你幫助他檢查公牛的答案。讀入2個正整數 不大於10 40 計算他們的乘積,輸出乙個自然數 不能含有多餘的零 約翰農夫讓你自己做這個工作。輸入 第1.2行 每行包含乙個十進...

數學 (JZOJ) 普及模擬 單元格

題目描述 在乙個r行c列的 裡,我們要選出3個不同的單元格。但要滿足如下的兩個條件 1 選中的任意兩個單元格都不在同一行。2 選中的任意兩個單元格都不在同一列。假設我們選中的單元格分別是 a,b,c,那麼我們定義這種選擇的 費用 f a b f b c f c a 其中f a b 是指單元格a到單元...