题目描述
监狱有连续编号为 1…N的 N个房间,每个房间关押一个犯人,有 M 种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。
输入输出格式
输入格式:
输入两个整数 m,n
输出格式:
可能越狱的状态数,模 100003 取余
m≤10^8,n≤10^12
解法
这道题我是先考虑的dp,状态设 f[i][j] f [ i ] [ j ] 表示只考虑前 i 个人,第 i 个人信仰 j 宗教的合法状态数。然后发现转移很困难。。。反正我是没想出来。于是忽然想到,可以用状态总数减去不合法的状态数
先想状态总数,每个人有m种可能信仰的宗教,一共n人,总数就是m*m*m*……*m,也就是