bzoj1008 越獄 組合數學

2021-07-06 06:22:56 字數 750 閱讀 7276

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

輸入兩個整數m,n.1<=m<=10^8,1<=n<=10^12

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

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

source

好水……

每個犯人都有m種宗教可選,所以總方案數是mn

種。想發生越獄不好想,思考如何不會越獄。

若第1個犯人信仰某種宗教,一共m個選擇。第2個則只有m-1個選擇,往後均為m-1個選擇。

易得出結論,答案是:mn

−m∗(

m−1)

n−1

快速冪即可。

**:

#include

#include

#include

#include

using namespace std;

typedef long

long ll;

const ll mod=100003;

ll ksm(ll a,ll b)

return ans;

}int main()

/*g++ 越獄.cpp -o 越獄.exe -wall

*/

BZOJ 1008 越獄(組合數學)

思路 首先全部情況有m n種,不滿足題意的情況有m m 1 n 1 種情況,然後快速冪就好啦 include includeusing namespace std define ll long long define mod 100003 ll powmod ll a,ll b return ans...

BZOJ 1008 越獄(組合數學)

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

bzoj1008 越獄 組合數學

這個題還是很簡單的,一共有m n種情況,只要減去不可能發生越獄的情況,就是可能發生越獄的情況。不可能發生越獄的情況 第乙個犯人有m種宗教選擇,第二個犯人有m 1種宗教選擇 因為要與相鄰的犯人不一樣 第三個犯人也有m 1種宗教選擇,一直到第n個犯人也有m 1種宗教選擇,所以一共有m m 1 n 1 所...