BZOJ 1008 組合數學 解題報告

2021-08-07 10:05:44 字數 1260 閱讀 2567

1008: [hnoi2008]越獄

description

監獄有連續編號為1…n的n個房間,每個房間關押乙個犯人,有m種宗教,每個犯人可能信仰其中一種。如果

相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄

input

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

output

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

sample input

2 3sample output

【解題報告】

第乙個人有m種選擇,則後面的每乙個人都有m-1種選擇

所以不越獄的狀態總數m∗

(m−1

)(n−

1)則越獄的狀態數就為mn

−m∗(

m−1)

(n−1

) **如下:

/*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*******

problem: 1008

user: onepointo

language: c++

result: accepted

time:0 ms

memory:820 kb

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

*****

****/

#include

#include

#include

using namespace std;

#define mod 100003

#define ll long long

ll m,n;

ll qpow(ll a,ll b)

return c;

}int main()

bzoj1008 越獄 組合數學

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

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種宗教,每個犯人可能信仰其中一種。如果 相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生...