【BZOJ】1008: [HNOI2008]越狱(组合数学)
题目
题目描述
监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱
输入输出格式
输入格式:
输入两个整数M,N.1<=M<=108,1<=N<=1012
输出格式:
可能越狱的状态数,模100003取余
输入输出样例
输入样例#1: 复制
2 3
输出样例#1: 复制
6
说明
6种状态为(000)(001)(011)(100)(110)(111)
分析
对于这道题目本来是想写dp瞎搞的,然而看到数据范围就怂了。从洛谷上看了看标签,是组合数学,于是开始推式子,推了很久也并没有用。
其实处理有多少可能越狱是很困难的,但是处理有多少可能是不越狱是很简单的,然后减一减就可以了。
总共:m^(n) 不越狱:m* ((m-1)^(n-1))。
P.s.多模几次又不花钱,一定要多模(Wa了好几发,55555)
代码
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const ll mod=100003;
ll poww(ll a,ll b)
{
ll base=a,ans=1;
while(b!=0)
{
if(b&1) ans=(ans*base)%mod;
base=(base*base)%mod;
b=b>>1;
}
return ans;
}
int main()
{
ll n,m;
scanf("%lld%lld",&m,&n);
printf("%lld",(poww(m,n)-((poww(m-1,n-1)*m)%mod)+mod)%mod);
return 0;
}
【BZOJ】1008: [HNOI2008]越狱(组合数学)的更多相关文章
- BZOJ 1008: [HNOI2008]越狱 组合数学
原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1008 题解: 就很傻逼的组合数学啊... $$ans=M^N-M*(M-1)^{(N-1) ...
- BZOJ 1008: [HNOI2008]越狱 快速幂
1008: [HNOI2008]越狱 Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生 ...
- BZOJ 1008 [HNOI2008]越狱
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 5166 Solved: 2242[Submit][Status] ...
- BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 10503 Solved: 4558[Submit][Status ...
- BZOJ 1008 [HNOI2008]越狱 排列组合
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 4788 Solved: 2060[Submit][Status] ...
- BZOJ 1008: [HNOI2008]越狱-快速幂/取模
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 8689 Solved: 3748 Description 监狱有 ...
- bzoj 1008: [HNOI2008]越狱 数学
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MB[Submit][Status][Discuss] Description 监狱有连 ...
- BZOJ 1008: [HNOI2008]越狱【组合】
很少有的思路秒解.题意可以描述成对长度为n的格子有m种染色方案,问存在相邻两个格子同色的方案数,正难则反易,考虑问题的背面任意两个相邻的格子都不同色,第一个格子可以涂任意一种颜色m种可能,剩下的n-1 ...
- 1008: [HNOI2008]越狱(计数问题)
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 11361 Solved: 4914[Submit][Status ...
随机推荐
- node 项目材料 集合
resfull 与 token node生成 跨平台 验证码图片 搭建简单的服务器
- DataTable和实体类通过反射相互转换
using System.Runtime.Serialization; using System.Data; using System.Reflection; using System.Collect ...
- 联想THINKPAD E40的快捷键怎么关闭?哪些F1 F2 F3的键我需要用到 但是每次都按FN 太烦人了
1.开机时,按F1进入BIOS,依次选择CONFIG--Keyboard/Mouse,2.在Change to "f1-f12 keys"选项中,更改设置为Legacy或者Defa ...
- 循环中的let和const声明
一.循环中的let声明 每次循环的时候let声明都会创建一个新变量i,并将其初始化为i的当前值,所以循环内部创建的每个函数都能得到属于他们的i的副本. 最初的: for (var i = 0 ; i ...
- 前端神器!!gulp livereload实现浏览器自动刷新
首先gulp是基于Node的,所以确保你已经安装 node.js,在Nodejs官方网站下载跟自己操作系统相对应的安装包. 先说一下gulp安装流程: 1:全局安装gulp,操作为: npm inst ...
- 对于KVO,你真的了解么?
目录 关于面试 官方文档 核心代码 (Key-Value Observing) 进阶(手动创建KVO) 关于isa指针 参考文章链接 一.关于面试 面试官:谈一谈你对KVO的理解? A:添加响应者 ...
- MySQL中的锁理解
1.目的:解决客户端并发访问的冲突问题 2.锁的分类 1.锁类型 1.读锁(共享锁) 查询(select):加读锁之后,别人不能更改表记录,但是可以进行查询. 2.写锁(互斥锁,排他锁) 更新(upd ...
- CXF生成本地ws调用代码测试webservice
package com.free.webservice.client; import java.util.List; import cn.com.webxml.*; public class Weat ...
- Resteasy集成Spring
很简单,都用最新的版本就可以了.之前在网上找的教程都是用resteasy2.x和spring3集成,但是resteasy2.x和spring4是不行的,弄了很久.最后换成最新的resteasy3.x好 ...
- <context:annotation-config/>,<context:component-scan/>,<mvc:annotation-driven/>区分
链接:http://blog.csdn.net/baple/article/details/16864175 链接:http://blog.csdn.net/Baple/article/details ...