[HNOI2008]越狱 快速幂
来源:互联网 发布:大战神武将升阶数据 编辑:程序博客网 时间:2024/04/30 05:30
越狱
总时间限制: 10000ms单个测试点时间限制: 1000ms 内存限制: 262144kB描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱输入 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12输出 可能越狱的状态数,模100003取余样例输入2 3样例输出6提示6种状态为(000)(001)(011)(100)(110)(111)来源HNOI 2008这道题单想如何相邻很难想到,但如何不相邻就简单了,因为每次都只有m-1种情况,再拿总情况减不能越狱情况便可。总方案是m^n,不可能发生越狱的状态为m*(m-1)^(n-1),那答案就是m^n-m*(m-1)^(n-1)。用快速幂;
#include <cstdio>#include <iostream>using namespace std;typedef long long LL;#define HA 100003//膜 法 LL ans1;LL quick(LL x,LL n) {//快速幂 LL ans = 1; while( n ) { if( n & 1 ) ans = ans * x % HA; x = x * x %HA; n >>= 1; } return ans;}int main() { LL m,n; cin >> m >> n; ans1 = quick( m, n ) % HA ; ans1 -= quick( m-1, n-1 ) % HA * m; ans1 = (ans1 % HA + HA ) % HA; cout << ans1; return 0;}
0 0
- [HNOI2008]越狱 快速幂
- [HNOI2008]越狱 (快速幂模)
- BZOJ1008: [HNOI2008]越狱 快速幂
- [BZOJ1008][HNOI2008]越狱(快速幂)
- BZOJ 1008 HNOI2008 越狱 快速幂
- 【BZOJ1008】【HNOI2008】越狱 排除法+快速幂
- BZOJ_P1008&Codevs_P1851 [HNOI2008]越狱(排列组合+快速幂)
- BZOJ 1008: [HNOI2008] 越狱 数学 快速幂
- [bzoj 1008] [HNOI2008]越狱:排列组合,快速幂
- BZoj 1008: [HNOI2008]越狱 (快速幂)
- BZOJ 1008: [HNOI2008]越狱 (快速幂
- 【快速幂、组合数学】BZOJ1008 [HNOI2008]越狱
- bzoj1008: [HNOI2008]越狱(快速幂)
- 【BZOJ1008】越狱(HNOI2008)-快速幂
- [HNOI2008]越狱 快速幂取模
- bzoj1008 [HNOI2008]越狱(组合数学+快速幂)
- bzoj。1008: [HNOI2008]越狱(快速幂 组合数)
- 【HNOI2008】越狱
- 进程实体 内存划分
- STM32F4(CAN)
- 【Unity Shader】摇摆的小草——顶点动画
- TCP与UDP
- 最新基于yeoman+angular前端项目的开发环境搭建
- [HNOI2008]越狱 快速幂
- Android Studio Study之图解如何从svn检出项目以及更新(上传)代码
- Linux常用命令(13)之挂载命令
- vue 全局/局部组件
- Linux系统硬件信息查看命令大全
- 实例PK(Vue服务端渲染 VS Vue浏览器端渲染)
- marked
- ASP.NET MVC 右键点击添加没有区域(Area)、控制器、试图等选项
- 三次握手与四次挥手示意图