越狱[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;

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

[HNOI2008]越狱 快速幂

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

HYSBZ/BZOJ 1005 [HNOI2008] 明明的烦恼 - Prufer编码&组合数学&高精度 此乃神题!

题目描述分析&Solution: hzw大神的blog JMJST大神的blog Matrix67对Prufer编码的理解 再结合题解,才终于理解怎么回事,大赞hzw大神的blog。#include ...
  • yuanxinyu402
  • yuanxinyu402
  • 2016年02月02日 20:56
  • 378

[bzoj1008][HNOI2008]越狱-题解[简单组合数学]

总算把数学题A掉了。。思路清晰莫名wa掉。。还得多提高自己代码水平。。Description  监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果 相邻...
  • Zn_Hua
  • Zn_Hua
  • 2017年01月23日 15:25
  • 383

BZOJ 1008([HNOI2008]越狱-等比数列求和)

1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 2620  Solved: 1082 [Submit][St...
  • nike0good
  • nike0good
  • 2013年06月12日 11:53
  • 1195

ios 如何让你的.ipa安装包完美"越狱"

ios开发这都知道开发者账号这回事,分别是公司账号和企业账号。二者之间有什么区别,这边总结下: 公司账号:99美金一年,注册手机上限100台。只要提供设备的UUID即可注册设备,也就是测...
  • qq_18505715
  • qq_18505715
  • 2015年09月09日 23:15
  • 1570

IOS越狱开发起步教程

「http://blog.csdn.net/miemie1320/article/details/7669241」 IOS越狱开发起步教程 IOS,Jailbroken,P...
  • guojin08
  • guojin08
  • 2013年08月26日 18:02
  • 8221

iOS越狱原理详解

iOS越狱原理详解 转载文章,链接地址: http://blog.sina.com.cn/s/blog_655dac9e01017wv3.html 如果你看完书中的所有例子,你很可能已经...
  • IDOshi201109
  • IDOshi201109
  • 2016年03月29日 18:43
  • 1824

IOS生成越狱版本应用程序——IPA

生成越狱版本应用程序(一)创建自签名证书 IOS应用程序开发完成后,需要编译一个版本在越狱的机器上运行的版本,需要分三个步骤来作, 第一步是在Mac中创建名称为iPhone Develope...
  • Hui_01
  • Hui_01
  • 2014年05月04日 10:50
  • 966

IOS越狱学习总结

iOS越狱 iOS 越狱(iOS Jailbreaking),是用于获取苹果公司便携装置操作系统iOS最高权限的一种技术手段,用 户使用这种技术及软件可以获取到 iOS 的最高权限,甚至可能可以进...
  • bcbobo21cn
  • bcbobo21cn
  • 2016年07月13日 08:55
  • 549

《iOS10系列越狱,需要知道的都在这。》

随着Luca正式将iOS10越狱的代码开源公布,iOS10越狱来到了新时代,好消息是开源意味着规避了很多商业行为,至少不会出现PP助手之类的捆绑越狱工具之类的事情发生了,坏消息就是操作成本比较高,而且...
  • yishengzhiai005
  • yishengzhiai005
  • 2017年02月09日 15:08
  • 2495
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:越狱[HNOI2008][Codevs1851]
举报原因:
原因补充:

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