【bzoj1008】越狱 组合数学
来源:互联网 发布:逆袭网络剧全集百度云 编辑:程序博客网 时间:2024/06/05 21:18
Description
监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱
Input
输入两个整数M,N.1<=M<=10^8,1<=N<=10^12
Output
可能越狱的状态数,模100003取余
Sample Input
2 3
Sample Output
6
HINT
6种状态为(000)(001)(011)(100)(110)(111)
Source
好水……
每个犯人都有m种宗教可选,所以总方案数是
想发生越狱不好想,思考如何不会越狱。
若第1个犯人信仰某种宗教,一共m个选择。第2个则只有m-1个选择,往后均为m-1个选择。
易得出结论,答案是:
快速幂即可。
代码:
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;typedef long long LL;const LL mod=100003;LL ksm(LL a,LL b){ LL ans=1; while(b) { if(b&1) ans=((ans%mod)*(a%mod))%mod; a=((a%mod)*(a%mod))%mod; b>>=1; } return ans;}int main(){ LL m,n; scanf("%lld%lld",&m,&n); printf("%lld",((ksm(m,n)-(m%mod*ksm(m-1,n-1))%mod)%mod+mod)%mod); return 0;}/*g++ 越狱.cpp -o 越狱.exe -Wall*/
2 0
- 【bzoj1008】越狱 组合数学
- 【简单组合数学】bzoj1008 越狱
- BZOJ1008 (HNOI2008)[越狱]--组合数学
- 【组合数学】[HNOI2008][HYSBZ/BZOJ1008]越狱
- [bzoj1008][HNOI2008]越狱-题解[简单组合数学]
- 【快速幂、组合数学】BZOJ1008 [HNOI2008]越狱
- 【BZOJ1008】【HNOI2008】越狱(组合数学)
- [组合]Bzoj1008 越狱[HNOI2008]
- bzoj1008: [HNOI2008]越狱 数学
- bzoj1008 [HNOI2008]越狱(组合数学+快速幂)
- bzoj1008[简单组合数学]
- [BZOJ1008][HNOI2008]越狱(数学相关)
- bzoj1008:越狱
- BZOJ1008越狱
- [bzoj1008]越狱
- 【Bzoj1008】越狱
- hysbz1008 越狱(组合数学)
- BZOJ 1008 越狱 组合数学
- 使用CreateFile()打开COM10及以上串行口
- linux下vi编辑器命令大全
- 使用WakeLock使Android应用程序保持后台唤醒
- HighCharts常用属性查找
- jmeter - 获取数据库表数据作为参数
- 【bzoj1008】越狱 组合数学
- 2015十大最具影响力的推广—兄弟连IT教育
- 趣味编程:打印日历
- iOS 删除已经配置的类库和移除CocoaPods
- 如何写出好的Java代码
- sencha touch中的日期控件
- js父子页面跨域访问
- Openstack VPNaas
- 个人笔记 css 02 css超链接取消下划线,点击之后不变色