BZOJ1008 HNOI2008 越獄 題解

2022-05-16 13:45:48 字數 527 閱讀 2935

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

正難則反(反正我沒想到,定式思維想求發生越獄結果根本求不出來orz)

m^n是總狀態數。

不發生越獄時,第乙個人可以選m個宗教,往後所有人只能選n-1個宗教。

所以答案為m^n-m*(m-1)^(n-1)

#include#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;const ll p=100003

;ll qpow(ll k,ll n)

return

res;

}ll m,n;

intmain()

狡猾的商人 bzoj1202,HNOI2005

ac通道 分析 因為每月的總收入可以為正,也可以為負,所以要比較兩個區間是否相符,當且僅當它們邊界都相同時才能比較。我們設w i 表示第1 i個月的總收入與第1 fa i 1 個月的總收入之差,及第fa i i個月的總收入。如圖。若i 1,j在同乙個集合中,則第i j個月的總收入為w j w i 1...

1008 HNOI2008 越獄 快速冪

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

BZOJ 1008 越獄(快速冪)

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