BZOJ 1008 組合數學,快速冪,水

2022-03-04 08:43:16 字數 630 閱讀 3539

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

tags:發生越獄=總情況 - 不發生越獄。即m^n - m*(m-1)^(n-1)。

#includeusing

namespace

std;

#pragma comment(linker, "/stack:102400000,102400000")

#define ff(i,a,b) for (int i=a;i<=b;i++)

#define f(i,b,a) for (int i=b;i>=a;i--)

#define mes(a,b) memset(a,b,sizeof(a))

#define inf 0x3f3f3f3ftypedef

long

long

ll;const

int n = 2e5+10, mod=100003

;ll m, n;

ll powmod(ll a, ll b)

return

s ;}

intmain()

view code

bzoj1008越獄 組合數學 快速冪

problem 1008.hnoi2008 越獄 time limit 1 sec memory limit 162 mb submit 11735 solved 5087 submit status discuss 監獄有連續編號為1 n的n個房間,每個房間關押乙個犯人,有m種宗教,每個犯人可能信...

BZOJ1008 越獄 組合數學 (快速冪)

快速冪 int pow int a,int k return ans 快速冪求模 如果超過計算機的取值範圍了,那麼快速取模的數可以是很大很大的數,因此需要進行取模。由以上演算法可以,最終的冪值就是各個值相乘,其中的某個乘式取模和算出整個值取模效果是一樣的,效率更高。int pow mod int a...

BZOJ 1008 組合數學 解題報告

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