HNOI2008 越獄 組合數學

2022-04-30 10:06:12 字數 736 閱讀 2314

監獄有連續編號為 1…n 的 n 個房間,每個房間關押乙個犯人,有 m 種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄。

輸入格式:

輸入兩個整數 \(m,n\)

輸出格式:

可能越獄的狀態數,模 100003取餘

輸入樣例#1:

2 3輸出樣例#1:

6種狀態為(000)(001)(011)(100)(110)(111)

1≤m≤108

1≤n≤1012

這道題運用了正難反易的思想.  

直接處理出合法的情況即可.

然後想一想: 第乙個有 n 種情況,然後的話 第二個就有 n-1 種情況.

再依次類推,會發現,後面都是 n-1 種情況.

所以 ans 即為:  $$mn-n*(n-1).$$

套乙個快速冪模板即可. 需要注意的是 ans 為負數的情況.

#include#includeusing namespace std; 

long long n,m,p;

long long quick_pow(long long s,long long ks)

return k%p;

} int main()

HNOI2008 越獄 (組合數學)

傳送門 應該是hnoi2008年最簡單的一道題了吧 簡單的組合數題,不過要換個思路。我們直接考慮發生越獄的情況似乎有點複雜,那我們換個思路,考慮不發生越獄的情況,也就是兩個有相同宗教的人不會坐在一起。第乙個人有m種宗教可以信仰,那麼第2個就只有m 1種了,不過我們發現,之後,第3個人其實還可以信仰m...

HNOI 2008 越獄 快速冪 組合數學

原題來自 hnoi 2008 監獄有連續編號為 1 到 n 的 n 個房間,每個房間關押乙個犯人。有 m 種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人信仰的宗教相同,就可能發生越獄。求有多少種狀態可能發生越獄。輸入兩個整數 m 和 n。可能越獄的狀態數,對 100003取餘。2 36樣例說明...

bzoj1008 越獄 組合數學

監獄有連續編號為1 n的n個房間,每個房間關押乙個犯人,有m種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄 輸入兩個整數m,n.1 m 10 8,1 n 10 12 可能越獄的狀態數,模100003取餘 2 366種狀態為 000 001 ...