Description

监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果
相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱

Solution

正难则反,考虑容斥解题

总方案数为\(m^n\),不发生冲突的方案数为\(m(m-1)^{n-1}\)(除第一个人有m种宗教选择,其他人都只有m-1种)。

则答案为\(m^n-m(m-1)^{n-1}\),可以用快速幂求解。

Code:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int p=100003;
ll n,m;
ll quickpow(ll x,ll y){ll ans=1;while(y){if(y&1) ans=(ans*x)%p;x=(x*x)%p;y>>=1;}return (ans+p)%p;
}
int read(){int x=0,f=1;char ch=getchar();while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar();}while(isdigit(ch)){x=x*10+ch-48;ch=getchar();}return x*f;
}
int main(){scanf("%lld%lld",&m,&n);printf("%d",(quickpow(m,n)+p-m*quickpow(m-1,n-1)%p)%p);return 0;
} 

转载于:https://www.cnblogs.com/NLDQY/p/10703339.html

[HNOI2008]越狱相关推荐

  1. 1008: [HNOI2008]越狱(计数问题)

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 11361  Solved: 4914 [Submit][Stat ...

  2. BZOJ 1008 [HNOI2008]越狱

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 5166  Solved: 2242 [Submit][Statu ...

  3. bzoj1008: [HNOI2008]越狱

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 7777  Solved: 3331 [Submit][Statu ...

  4. bzoj 1008: [HNOI2008]越狱

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 6235  Solved: 2658 [Submit][Statu ...

  5. BZOJ1008[HNOI2008]越狱

    @[排列組合] Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果 相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态 ...

  6. P3197 [HNOI2008]越狱(快速幂)

    题目描述 监狱有连续编号为 1-N1-N1-N 的 NNN 个房间,每个房间关押一个犯人,有 MMM 种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能 ...

  7. BZOJ1008: [HNOI2008]越狱(组合数)

    题目描述 监狱有连续编号为 1-N1-N 的 NN 个房间,每个房间关押一个犯人,有 MM 种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱. ...

  8. [bzoj1008] [HNOI2008]越狱

    Description 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 In ...

  9. [bzoj1008][HNOI2008]越狱-题解[简单组合数学]

    总算把数学题A掉了..思路清晰莫名wa掉..还得多提高自己代码水平.. Description 监狱有连续编号为1-N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果 相邻 ...

最新文章

  1. c++读取json文件_SPARK入门 - json文件读取
  2. java文件格式_Java Class文件格式详解
  3. 《unix设备驱动》内存分配
  4. Html 教程 (1)简介
  5. CH2-1 类型 操作 表达式
  6. 肝!教你用Python抓取某天下楼盘数据
  7. 如何为ASP.NET Core设置客户端IP白名单验证
  8. 微信支付官方SDK V3 .NET版的坑
  9. princomp 与pca的区别与联系
  10. (整理)REHL6.5_Yum安装Reids
  11. ionic-cordova 支付宝支付插件cordova-plugin-alipay-v2使用篇
  12. Docker容器中运行Ubuntu系统
  13. BZOJ1086[SCOI2005] 王室联邦
  14. 借助Bodymovin播放svg动画
  15. java 编译器和 jvm_java编译器和JVM有什么区别
  16. 腾讯天天P图负责人、喜马拉雅副总裁、朋友印象创始人等16位大咖齐开讲,关于未来,关于产品...
  17. win10查看桌面壁纸路径
  18. 我的世界空岛服务器修改地形,我的世界攻略秘籍 [WorldPainter制作空岛]—我有特别的地形技巧...
  19. vendor分区的库无法调用system分区的库
  20. 《精进:如何成为一个很厉害的人》 采铜

热门文章

  1. Android设置状态栏为白底黑字
  2. loadrunner两个报错Error -27492、Error -27778 互斥的问题
  3. dyld Library not loaded @rpath libswiftCore dylib 解决
  4. RHEL7.0时间同步设置
  5. Python爬虫-《神雕侠侣》
  6. openwrt uci
  7. POST 一张 图像的调试来认识 http post
  8. Recursion and Tail Recursion in Java and Erlang
  9. cgic 测试demo
  10. python进程数上限_在多处理python中限制进程数