越獄(倆個快速冪相減如果為負數就加上mod)

2021-10-13 07:31:28 字數 913 閱讀 9147

題目:

監獄有連續編號為 11 到 nn 的 nn 個房間,每個房間關押乙個犯人。

有 mm 種宗教,每個犯人可能信仰其中一種。

如果相鄰房間的犯人信仰的宗教相同,就可能發生越獄。

求有多少種狀態可能發生越獄。

輸入格式:

共一行,包含兩個整數 mm 和 nn。

輸出格式:

可能越獄的狀態數,對 100003100003 取餘。

資料範圍

1≤m≤108 //10的8次方

1≤n≤1012//10的12次方

輸入樣例:

2 3輸出樣例:

6樣例解釋

所有可能的 66 種狀態為:(000)(001)(011)(100)(110)(111)(000)(001)(011)(100)(110)(111)。

題解:所有的方案數是m的n次方,那麼不會發生越獄的情況是m*(m-1)的(n-1)次方,這裡分別用快速冪來求就行,只不過相減的時候可能出現負數的情況,這個時候需要加上mod就行(重點,記住)

#include

#include

using

namespace std;

typedef

long

long ll;

const

int inf=

0x3f3f3f3f

;const

int maxx =

1e6+10;

const

int mod=

100003

;int ans=0;

intqmi

(int a,ll k)

return res;

}void

solve()

intmain()

快速冪 越獄

監獄有連續編號為 11 到 nn 的 nn 個房間,每個房間關押乙個犯人。有 mm 種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人信仰的宗教相同,就可能發生越獄。求有多少種狀態可能發生越獄。輸入格式 共一行,包含兩個整數 mm 和 nn。輸出格式 可能越獄的狀態數,對 100003100003...

越獄 快速冪取模

監獄有連續編號為1.n的n個房間,每個房間關押乙個犯人,有m種宗教,每個犯人可能信仰其中一種。如果 相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄。2 36 6種狀態為 000 001 011 100 110 111 思路 所有的可能的情況數為 m n,不發生越獄的情況數為 m...

BZOJ 1008 越獄(快速冪)

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