越狱[HNOI2008][Codevs1851]

原创 2016年05月30日 13:37:51

题目描述 Description

监狱有连续编号为1...NN 个房间,每个房间关押一个犯人,有 M 种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱


输入描述 Input Description

输入两个整数 MN1<=M<=108,1<=N<=1012


输出描述 Output Description

可能越狱的状态数,模 100003 取余


样例输入 Sample Input

2 3


样例输出 Sample Output

6


数据范围及提示 Data Size & Hint

6 种状态为 (000)(001)(011)(100)(110)(111)


分析

这个题目考虑可以越狱的情况并不容易,所以我们来考虑不可能发生越狱的情况。
首先是对于 1 号房间的犯人,他的宗教有 m 种可能。
其次是对于 2 号房间的犯人,要使他不越狱,也就是宗教与第 1 号不同,故他的宗教有 m1 种可能。
再对于 3 号房间的犯人,要使他不越狱,也就是宗教与第 2 号不同,故他的宗教也有 m1 种可能。
...
对于 n 号房间的犯人,要使他不越狱,也就是宗教与第 n1 号不同,故他的宗教也有 m1 种可能。
所以,不可能发生越狱的情况发生越狱的情况共有 m(m1)n1 种可能,而所有的情况有 mn 种,故可能发生的越狱情况有 mnm(m1)n1 种可能。这里用快速幂就可以了


代码

#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;

typedef long long LL;

const LL Mod = 100003LL;

LL n,m;

LL mi(LL,LL);

int main(){

    scanf("%lld%lld",&m,&n);

    m %= Mod;

    printf("%lld",(Mod+mi(m,n)-(m*mi(m-1,n-1))%Mod)%Mod);

    return 0;

}

LL mi(LL x,LL y){

    if(y == 1)
        return x;
    if(y == 2)
        return x*x%Mod;

    LL tmp;
    tmp = mi(x,y>>1);
    tmp = tmp*tmp%Mod;
    if(y&1)
        tmp = tmp*x%Mod;

    return tmp;

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【codevs1851】越狱,快速幂数学

越狱 2008年湖南省队选拔赛 时间限制: 10 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 题目描述 Description 监狱有连续编号为1...

[BZOJ 1008][HNOI2008]越狱

Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱...
  • qpswwww
  • qpswwww
  • 2014年06月23日 21:32
  • 917

[HNOI2008]越狱 快速幂

越狱总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 262144kB 描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能...

[BZOJ1008][HNOI2008]越狱(快速幂)

[BZOJ1008][HNOI2008]越狱 - ZGX

[BZOJ1008][HNOI2008]越狱

提交地址 Description 监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发...
  • ocacs1
  • ocacs1
  • 2016年09月18日 13:48
  • 132

[BZOJ 1008] HNOI 2008 越狱 · 快速幂

刚开始做这道题的时候,笔者朝着类似全排列的方向思考,想直接求出答案,发现通项会很繁琐,然后再反过来思考一下,即越狱方案数=总方案数-未越狱方案数,突然就发现这题是如此之水……如果你做这题的时候感觉有点...
  • ycdfhhc
  • ycdfhhc
  • 2015年03月12日 22:31
  • 362

数列[HNOI2013][Codevs2089]

题目描述 Description小 T T 最近在学着买股票,他得到内部消息: F F 公司的股票将会疯涨。 股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为 N N 。在疯涨的...

CJOJ 1308 【HNOI 2002 】营业额统计 / CodeVS 1296 营业额统计

CJOJ 1308 【HNOI 2002 】营业额统计 / CodeVS 1296 营业额统计

有趣的数列[HNOI2009][Codevs2337]

题目描述 Description我们称一个长度为 2n 2n 的数列是有趣的,当且仅当该数列满足以下三个条件: ( 1 1 ) 它是从 1 1 到 2n 2n 共 2n 2n 个整数的一...

【codevs 1257】【NOIP 模拟题】[HNOI 2004] 敲砖块(dp)

残阳散、余晖落,披天星入暮
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:越狱[HNOI2008][Codevs1851]
举报原因:
原因补充:

(最多只允许输入30个字)