博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[HNOI2008] 越狱 快速幂
阅读量:5138 次
发布时间:2019-06-13

本文共 585 字,大约阅读时间需要 1 分钟。

[HNOI2008] 越狱 快速幂

水。考虑不发生越狱的情况:即宗教相同的都不相邻,一号任意放\(m\)种宗教的人,此后\(n-1\)个房间都放与上一个宗教不同的人,有\(m-1\)种,所以共有\(m*(m-1)^{n-1}\)种。答案即\(m^n-m*(m-1)^{n-1}\)。快速幂即可。

注意,这里需要考虑模后相减为负的情况,此时将负值再加上模数变为正数即可。

#include 
#define MOD 100003#define ll long longusing namespace std;ll m,n;ll qpow(ll x, ll k){ ll ans=1; while(k){ if(k&1) ans=ans*x%MOD; k>>=1; x=x*x%MOD; } return ans;}int main(){ scanf("%lld %lld", &m, &n); m%=MOD; printf("%lld\n", (qpow(m, n)-qpow(m-1, n-1)*m%MOD+MOD)%MOD); return 0;}

转载于:https://www.cnblogs.com/santiego/p/11144100.html

你可能感兴趣的文章
Linux套接字和I/O模型
查看>>
HTML 之 CSS
查看>>
ASP.NET MVC 音乐商店 - 5. 通过支架创建编辑表单
查看>>
[HNOI2006] 超级英雄
查看>>
https 学习笔记二
查看>>
NYOJ题目77开灯问题
查看>>
Lintcode 97.二叉树的最大深度
查看>>
代码杂记3-2
查看>>
水题 Codeforces Round #105 (Div. 2) B. Escape
查看>>
Python使用Redis数据库
查看>>
Java的修饰符
查看>>
Set ,List,ArrayList,LinkedList,Vectory,HashMap,Hashtable,HashSet,TreeSet,TreeSet
查看>>
使用iframe完成文件上传
查看>>
Redis多实例搭建
查看>>
评价cnblogs.com的用户体验
查看>>
iOS 去掉navgationbar 底部线条
查看>>
java 反射
查看>>
JS 作用域 实例分析
查看>>
ubuntu搭建ftp服务
查看>>
ODAC(V9.5.15) 学习笔记(四)TMemDataSet (1)
查看>>