BZOJ1008 [HNOI2008]越狱 (快速幂,组合)
题目大意
求\(m\)种数字组成的长度为\(n\)的序列的种数,序列中至少有一段连续的数字
分析
用可重排列的种数减去,相邻数字互不相同的序列种数
考虑相邻互不相同,第一个元素有\(m\)种可能,后面每个元素不能和它左边的那个数一样,有\(m-1\)种可能
即$$m^n - m(m-1)^{n-1}$$
代码
#include<iostream>
#include<cmath>
#include<cstdio>
#define LL long long
using namespace std;
const LL p = 100003;
LL pw(LL a,LL b){
LL t = 1;
for (;b;b >>= 1) {
if (b & 1) t = t * a % p;
a = a % p * a % p;
}
return t;
}
int main(){
LL n,m;
scanf("%lld%lld",&m,&n);
printf("%lld\n",(p + pw(m,n) - m * pw(m - 1,n - 1) % p) % p);
return 0;
}
BZOJ1008 [HNOI2008]越狱 (快速幂,组合)的更多相关文章
- BZOJ1008: [HNOI2008]越狱-快速幂+取模
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 8689 Solved: 3748 Description 监狱有 ...
- BZOJ1008 [HNOI2008]越狱 快速幂
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1008 题意概括 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可 ...
- bzoj1008 [HNOI2008]越狱——快速幂
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1008 (这样一道水题还因为忘记写 %lld WA了那么多遍) 发生越狱的状态数,就是全部状态 ...
- [HNOI2008] 越狱 快速幂
[HNOI2008] 越狱 快速幂 水.考虑不发生越狱的情况:即宗教相同的都不相邻,一号任意放\(m\)种宗教的人,此后\(n-1\)个房间都放与上一个宗教不同的人,有\(m-1\)种,所以共有\(m ...
- BZOJ 1008: [HNOI2008]越狱-快速幂/取模
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 8689 Solved: 3748 Description 监狱有 ...
- BZOJ 1008: [HNOI2008]越狱 快速幂
1008: [HNOI2008]越狱 Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生 ...
- bzoj1008/luogu3197 越狱 (快速幂)
算$m^n-m*(m-1)^{n-1}$,就是总的减去不越狱的,不越狱就每次都选一个和上一个不一样的
- [HNOI2008]越狱 快速幂 逆推
考虑越狱的情况有些复杂,不如考虑总情况减去不越狱的情况. 显然,总情况为 $m^n$ 种,不越狱的情况为 $m*(m-1)*(m-1)*(m-1)....$ 即为 $m*(m-1)^(n-1)$. 做 ...
- bzoj1008: [HNOI2008]越狱 数学公式+快速幂
bzoj1008: [HNOI2008]越狱 O(log N)---------------------------------------------------------------- ...
- BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 10503 Solved: 4558[Submit][Status ...
随机推荐
- vue整体回顾
vue大回顾 1 前端发展史 react vue---> 前端工程化---> 前后端分离 大前端:flutter uni-app 2 Vue介绍 单页面应用(spa) 组件化开发 mvvm ...
- Camstar配置Audit Trail
- 杂:pthread_cond_timedwait导致死锁
地球人都知道1:pthread_cond_timedwait使用时,需要对[条件]加锁.[条件]也是一种线程共享资源. 地球人都知道2:1个互斥锁不应该管理2类及以上的多线程共享资源 1+2=下面这样 ...
- centos8使用kubeadm搭建高可用k8s集群
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Master 节点 kubeadm ini ...
- mysql常用语句操作
概述: 1.通过表结构介绍.来操作mysql常用的语法&语句: 2.现在学习下几个基本的sql语句,万变不离其宗,把基础弄扎实了其它的就很容易了 一.表结构&建表: 1.学生基础信息表 ...
- windows远程桌面之前用于连接到xxx的凭据无法工作
使用windows远程桌面连接时报错提示: 之前用于连接到xxx的凭据无法工作 确认输入的用户名密码没有问题 解决方法: 打开gpedit.msc组策略管理,依次找到 计算机配置 > windo ...
- eclipse配置tomcat环境
Eclipse配置tomcat环境 第一步:进行下面操作: window–>Preference–>Server–>Runtime Environments ->Add 搜索s ...
- VsCode C++ 语法检测失效不标红色波浪线 解决办法
如果enable Squiggles 无效,按照下图里配置设置解决问题. 如图:
- 链路状态通告类型知识学习总结,LSA(Link State Advertisement)
链路状态通告类型知识总结,LSA(Link State Advertisement) 一.相关解释,个人相关看法: OSPF是通过LSA数据报文来联系关联路由器,交换信息,同步数据,在此基础上,各路由 ...
- 远程过程调用失败0x800706be
今天用数据库突然发生了<远程过程调用失败0x800706be>,参考一下网站解决 https://www.cnblogs.com/guohenghai/p/3533091.html 今天在 ...