合肥网站设计培训,wordpress网站seo,怎么搭建国外网络,做视频比较好的理财网站信奥赛C提高组csp-s之快速幂#xff08;案例实践1#xff09; 题目描述 监狱有 nnn 个房间#xff0c;每个房间关押一个犯人#xff0c;有 mmm 种宗教#xff0c;每个犯人会信仰其中一种。如果相邻房间的犯人的宗教相同#xff0c;就可能发生越狱#xff0c;求有多少种…信奥赛C提高组csp-s之快速幂案例实践1题目描述监狱有n nn个房间每个房间关押一个犯人有m mm种宗教每个犯人会信仰其中一种。如果相邻房间的犯人的宗教相同就可能发生越狱求有多少种状态可能发生越狱。答案对100 , 003 100,003100,003取模。输入格式输入只有一行两个整数分别代表宗教数m mm和房间数n nn。输出格式输出一行一个整数代表答案。输入输出样例 #1输入 12 3输出 16说明/提示样例输入输出 1 解释状态编号1 号房间2 号房间3 号房间1信仰 1信仰 1信仰 12信仰 1信仰 1信仰 23信仰 1信仰 2信仰 24信仰 2信仰 1信仰 15信仰 2信仰 2信仰 26信仰 2信仰 2信仰 1数据规模与约定对于100 % 100\%100%的数据保证1 ≤ m ≤ 10 8 1 \le m \le 10^81≤m≤1081 ≤ n ≤ 10 12 1 \le n \le 10^{12}1≤n≤1012。思路分析我们采用总方案数减去不越狱的方案数总方案数为m n m^nmn不越狱的方案数为m × ( m − 1 ) n − 1 m \times (m-1)^{n-1}m×(m−1)n−1第一个房间有 m 种选择之后每个房间都不能与前一个相同故有 m-1 种选择。答案即为m n − m × ( m − 1 ) n − 1 m^n - m \times (m-1)^{n-1}mn−m×(m−1)n−1对 100003 取模注意处理负数。由于 n 可达10 12 10^{12}1012必须用快速幂计算幂次取模。m和m-1在计算前先对模数取模避免溢出。#includebits/stdc.husingnamespacestd;typedeflonglongll;constintMOD100003;// 快速幂求 a^b % modllqpow(ll a,ll b,ll mod){ll res1;a%mod;while(b){if(b1)resres*a%mod;aa*a%mod;b1;}returnres;}intmain(){ll m,n;cinmn;// 总方案数 m^n % MODll totalqpow(m,n,MOD);// 不越狱方案数 m * (m-1)^(n-1) % MODll noCrimem%MOD*qpow(m-1,n-1,MOD)%MOD;// 越狱方案数 total - noCrime取正模ll ans(total-noCrimeMOD)%MOD;coutansendl;return0;}功能分析快速幂取模qpow函数采用二进制分解指数的方法时间复杂度O ( log ⁡ n ) O(\log n)O(logn)能安全处理 n高达10 12 10^{12}1012的情况。防止溢出计算前对底数取模乘法后立即取模。负数处理(total - noCrime MOD) % MOD确保结果为非负。简洁变量使用m, n对应宗教数和房间数符合题目要求。更多系列知识请查看专栏《信奥赛C提高组csp-s知识详解及案例实践》https://blog.csdn.net/weixin_66461496/category_13113932.html各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}1、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html2、csp信奥赛冲刺一等奖有效刷题题解CSP信奥赛C初赛及复赛高频考点真题解析持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html3、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html4、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}