题目

题目描述

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

输入输出格式

输入格式:

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

输出格式:

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

输入输出样例

输入样例#1: 复制

2 3

输出样例#1: 复制

6

说明

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

 


 

分析

对于这道题目本来是想写dp瞎搞的,然而看到数据范围就怂了。从洛谷上看了看标签,是组合数学,于是开始推式子,推了很久也并没有用。

其实处理有多少可能越狱是很困难的,但是处理有多少可能是不越狱是很简单的,然后减一减就可以了。

总共:m^(n) 不越狱:m* ((m-1)^(n-1))。

P.s.多模几次又不花钱,一定要多模(Wa了好几发,55555)

 


 

代码

#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const ll mod=100003;
ll poww(ll a,ll b)
{
ll base=a,ans=1;
while(b!=0)
{
if(b&1) ans=(ans*base)%mod;
base=(base*base)%mod;
b=b>>1;
}
return ans;
}
int main()
{
ll n,m;
scanf("%lld%lld",&m,&n);
printf("%lld",(poww(m,n)-((poww(m-1,n-1)*m)%mod)+mod)%mod);
return 0;
}

【BZOJ】1008: [HNOI2008]越狱(组合数学)的更多相关文章

  1. BZOJ 1008: [HNOI2008]越狱 组合数学

    原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1008 题解: 就很傻逼的组合数学啊... $$ans=M^N-M*(M-1)^{(N-1) ...

  2. BZOJ 1008: [HNOI2008]越狱 快速幂

    1008: [HNOI2008]越狱 Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生 ...

  3. BZOJ 1008 [HNOI2008]越狱

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 5166  Solved: 2242[Submit][Status] ...

  4. BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 10503  Solved: 4558[Submit][Status ...

  5. BZOJ 1008 [HNOI2008]越狱 排列组合

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4788  Solved: 2060[Submit][Status] ...

  6. BZOJ 1008: [HNOI2008]越狱-快速幂/取模

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 8689  Solved: 3748 Description 监狱有 ...

  7. bzoj 1008: [HNOI2008]越狱 数学

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MB[Submit][Status][Discuss] Description 监狱有连 ...

  8. BZOJ 1008: [HNOI2008]越狱【组合】

    很少有的思路秒解.题意可以描述成对长度为n的格子有m种染色方案,问存在相邻两个格子同色的方案数,正难则反易,考虑问题的背面任意两个相邻的格子都不同色,第一个格子可以涂任意一种颜色m种可能,剩下的n-1 ...

  9. 1008: [HNOI2008]越狱(计数问题)

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 11361  Solved: 4914[Submit][Status ...

随机推荐

  1. css hover伪类选择器与JQuery hover()方法

    css hover伪类选择器 它属于anchor伪类 在支持 CSS 的浏览器中,<a>标签链接的不同状态都可以以不同的方式显示,常常用来改链接的颜色效果 实例 a:link {color ...

  2. 【跟着stackoverflow学Pandas】Delete column from pandas DataFrame-删除列

    最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ...

  3. css 添加伪元素 消除浮动 对父元素高度产生的影响

  4. PHP进程之信号捕捉中的declare(ticks=1)

    转自:http://blog.csdn.net/gavin_new/article/details/65629223 一. 语句在php中的意义 php中,declare(ticks=n)和regis ...

  5. js之侧边栏分享

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. 【剑指offer15】二进制中1的个数(位运算),C++实现

    原创博文,转载请注明出处! # 本文是牛客网<剑指offer>刷题笔记 1.题目 # 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示.例如,把9表示成二进制是1001,有两 ...

  7. BZOJ2005 NOI2010 能量采集 【莫比乌斯反演】

    BZOJ2005 NOI2010 能量采集 Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些 ...

  8. python正则的使用

    python的正则是通过re模块的支持 匹配的3个函数 match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none: re.match(pattern, st ...

  9. javascript异常处理。 屏蔽异常

    http://www.cnblogs.com/aqbyygyyga/archive/2011/10/29/2228824.html

  10. @EnableAutoConfiguration注解原理

    前言 Spring Boot中引入了自动配置,让开发者利用起来更加的简便.快捷.比如内嵌的tomcat端口默认配置是8080,这些都属于Spring Boot自动配置的范畴,当然其自动配置相当多. s ...