
AcWing 875 快速幂
处理了pi=1的情况,直接输出0,因为任何数对1取模都是0。 在快速幂函数中处理了a=0的情况,直接返回0,因为0^k mod p=0。 使用快速幂函数来进行高效的模幂运算,避免直接计算指数爆炸。 避免了处理过大的数,通过每次取模来保持数值小。
发布日期:2021-05-28 16:27:03
浏览次数:33
分类:精选文章
本文共 973 字,大约阅读时间需要 3 分钟。
不过,可能我有点搞不清楚输入格式,是否正确分隔了各组数值?可能需要更仔细地阅读输入样例。假设每行三个整数,正确分拆的话,可以顺利读取。
现在,编写完整的C++代码:
#includeusing namespace std;ll binary_pow(ll a, ll b, ll p) { if (p == 1) { return 0; } a = a % p; if (a == 0) { return 0; } ll ans = 1; ll current = a; while (b > 0) { if (b & 1) { ans = (ans * current) % p; } current = (current * current) % p; b >>= 1; } return ans;}int main() { int n; cin >> n; for (int _ = 0; _ < n; _++) { int ai, bi, pi; // 为了处理读取速度,使用快速读取方法 // 但在这里,假设正常读取方式就已经足够 cin >> ai >> bi >> pi; // 特殊情况处理:pi ==1,直接返回0 if (pi == 1) { cout << 0 << endl; continue; } // 计算pow(ai, bi, pi) cout << binary_pow(ai, bi, pi) << endl; }}
这个代码中:
这样可以高效处理大量数据,适用于n=1e5的情况。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月10日 02时42分58秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux系统时间与硬件时间及时间同步
2019-03-15
maven 必会常用命令
2019-03-15
Spring 和 DI 依赖注入
2019-03-15
Java json 数据格式封装
2019-03-15
中序线索二叉树的遍历
2019-03-15
文字策略游戏 android studio(学习intent,textview,等等)
2019-03-15
laravel server error 服务器内部错误
2019-03-15
17_注册Github账号
2019-03-15
gcc编译c文件生成可执行文件
2019-03-15
Linux驱动实现GPIO模拟I2C读写操作
2019-03-15
python爬取中庸词诗词保存mysql数据库源码
2019-03-15
java mysql大学生求职网站没有后台管理源码
2019-03-15
React超级开发指南
2019-03-15
.Net Core API的一个Json转换Help类
2019-03-15
MSSQL/SQLServer中UPDATE或INSERT依次递增做假数据的实现
2019-03-15
Jquery中的正则表达式
2019-03-15
JS日历
2019-03-15