codevs1851 越獄,快速冪數學

2021-07-08 17:29:36 字數 1070 閱讀 7215

越獄 2023年湖南省隊選拔賽

時間限制: 10 s

空間限制: 128000 kb

題目等級 : 大師 master

題解 題目描述 description

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

輸入描述 input description

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

輸出描述 output description

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

樣例輸入 sample input

2 3樣例輸出 sample output

6資料範圍及提示 data size & hint

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

思路:來自codevs

這是一道較為簡單的數學題。屬於排列組合問題。

題目抽象一下就是有n個格仔,用m種顏色染色,求有兩個相鄰的同色的情況有多少種。

其實反過來考慮更好算。

總的方案數為mn,減去每個相鄰的都不同色的情況既可。

考慮每個相鄰的都不同色,第乙個格仔可以用m中,後面的每乙個格仔都只能用m-1中,所以就是m(m-1)n-1,最後的答案就是mn-m(m-1)n-1。

需要用到快速冪加同餘。

注意減出來可能有負數,加上mod即可。

**:

#include

#include

#include

#define mod 100003

using

namespace

std;

long

long n,m;

long

long quick_root(long

long x,long

long y)

return ans;

}main()

快速冪 越獄

監獄有連續編號為 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...