[BZOJ 1008] HNOI 2008 越狱 · 快速幂
来源:互联网 发布:js获取div 的name的值 编辑:程序博客网 时间:2024/06/06 09:00
刚开始做这道题的时候,笔者朝着类似全排列的方向思考,想直接求出答案,发现通项会很繁琐,然后再反过来思考一下,即越狱方案数=总方案数-未越狱方案数,突然就发现这题是如此之水……如果你做这题的时候感觉有点困难,不要灰心,答案公式是很容易推出来的,如果实在还是不会的话题解在代码中。
/*当直接推通项很繁琐的时候,试着换一种思路。总共有N个人,每个人有M种可能,所以总方案数=M^N若要满足每两个相邻的人都不相同,第一个人有M种选择,接下来的N-1个人,每一个人都有M-1种选择,即和前一个人不同 。 所以未越狱方案数=(M-1)^(N-1)*M那么越狱方案数=M^N-(M-1)^(N-1)*M,快速幂直接0ms水过去:D */#include <stdio.h>using namespace std;#define ll long long#define p 100003 ll n,m,ans; ll power(ll t,ll k){ if (t==1) return k%p; ll x=power(t>>1,k); x=x*x%p; if ((t>>1)*2!=t) x=x*k%p; return x;} int main(){ scanf("%lld %lld",&m,&n); ans=(power(n,m)%p-m%p*power(n-1,m-1)%p)%p; while (ans<0) ans+=p; printf("%lld\n",ans); return 0;}
0 0
- [BZOJ 1008] HNOI 2008 越狱 · 快速幂
- BZOJ 1008 - HNOI 2008 越狱 乘法原理 快速幂
- 【乘法原理】【HNOI 2008】【bzoj 1008】越狱
- bzoj 1008 越狱 快速幂
- bzoj 1008 越狱(快速幂)
- BZOJ 1008 HNOI2008 越狱 快速幂
- bzoj 1008 越狱 组合数+快速幂
- BZOJ-1008 越狱 数论快速幂
- BZOJ 1008: [HNOI2008] 越狱 数学 快速幂
- BZOJ 1008 越狱(快速幂)
- [bzoj 1008] [HNOI2008]越狱:排列组合,快速幂
- BZoj 1008: [HNOI2008]越狱 (快速幂)
- BZOJ 1008: [HNOI2008]越狱 (快速幂
- bzoj。1008: [HNOI2008]越狱(快速幂 组合数)
- [省选前题目整理][BZOJ 1009][HNOI 2008]GT考试(KMP+DP+矩阵快速幂)
- [BZOJ 2326][HNOI 2011]数学作业(矩阵快速幂)
- bzoj 1008: [HNOI2008]越狱
- [BZOJ 1008][HNOI2008]越狱
- hdu 1533 Going Home (最大权匹配,KM算法)
- RabbitMQ从入门到精通
- Java线程:线程的同步与锁
- hdu 2255 奔小康赚大钱 (最大权匹配,KM算法)
- 求最大公约数
- [BZOJ 1008] HNOI 2008 越狱 · 快速幂
- 014 简单的算术(优先级)
- Android adb.exe程序启动不起来,如何处理
- Spring 定时调度
- maven打包一个包含依赖jar包的可执行jar
- 从十个数中输出最大数
- LeetCode - Unique Paths II - Frequent
- MFC文件操作大全
- mysql实现nextVal功能