P3197 [HNOI2008]越狱
水一篇数论题解
题目
P3197 [HNOI2008]越狱
题目描述
监狱有连续编号为 $1…N$ 的 $N$ 个房间,每个房间关押一个犯人,有 $M$ 种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。
输入输出格式
输入格式:
输入两个整数 $M,N$
输出格式:
可能越狱的状态数,模 $100003$ 取余
输入输出样例
输入样例#1:
1 | 2 3 |
输出样例#1:
1 | 6 |
思路
开始做这题是顺推,不太好想。
尝试反推。
可能发生越狱状态 = 全部状态-不可能发生越狱状态
于是问题变得清晰起来。
全部状态就是: $M^N$ (乘法原理)
而不可能发生越狱的状态就是: $M*(M-1) ^ {N-1}$(乘法原理)
取余后相减也许为负数所以对答案加上模数后再取模一次。
$(((ksm(m,n)-(m*ksm(m-1,n-1)))%MOD+MOD)%MOD)$
使用快速幂计算幂次即可。
Code
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 yuy's blog!