当前位置: 首页 > news >正文

做网站是什么编程江阴做网站的公司有

做网站是什么编程,江阴做网站的公司有,备份wordpress配置,网站建设推进表题目描述 给定 n n n组 a i , b i , p i a_i,b_i,p_i ai​,bi​,pi​,对于每组数据,求出 a i b i m o d p i a_i^{b^i}~mod~p_i aibi​ mod pi​ 的值。 样例 输入样例: 2 3 2 5 4 3 9输出样例: 4 1快速幂解决的问题 用来…

题目描述

给定 n n n a i , b i , p i a_i,b_i,p_i ai,bi,pi,对于每组数据,求出 a i b i m o d p i a_i^{b^i}~mod~p_i aibi mod pi 的值。

样例

输入样例:

2
3 2 5
4 3 9

输出样例:

4
1

快速幂解决的问题

用来解决快速的求解 a k m o d a^k~mod ak mod p p p的结果
时间复杂度为 O ( l o g k ) O(logk) O(logk)

原理(反复平方法)

预处理出来这些值:
a 2 0 m o d p a^{2^0}~mod~p a20 mod p
a 2 1 m o d p a^{2^1}~mod~p a21 mod p
a 2 2 m o d p a^{2^2}~mod~p a22 mod p
. . . ... ...
a 2 l o g k m o d p a^{2^{logk}}~mod~p a2logk mod p

大概是logk个

a k a^k ak可以表示为前面分解的这些数的某些数的乘积
k k k可以表示为 2 2 2的若干次幂的和
(利用k的二进制表示)
a k = a 2 x 1 a 2 x 2 . . . a 2 x t = a 2 x 1 + 2 x 2 + . . . + 2 x t a^k =a^{2^{x_1}}a^{2^{x_2}}...a^{2^{x_t}} =a^{2^{x_1}+2^{x_2}+...+2^{x_t}} ak=a2x1a2x2...a2xt=a2x1+2x2+...+2xt

如何求 a x a^x ax
a 1 = a a^1~=~a a1 = a
a 2 1 = ( a 1 ) 2 a^{2^1}~=~(a^{1})^2 a21 = (a1)2
a 2 2 = ( a 2 1 ) 2 a^{2^2}~=~(a^{2^1})^2 a22 = (a21)2
. . . ... ...
a 2 l o g k = ( a 2 l o g k − 1 ) 2 a^{2^{logk}}~=~(a^{2^{logk}-1})^2 a2logk = (a2logk1)2

也就是说,后一个数都是前一个数的平方
也就是经过k次迭代,就可以把这些数分解出来了
其实就是看k的二进制表示里面,哪些位是1,把1对应的这些位对应的数乘起来就可以了


代码
#include<iostream>
#include<algorithm>
using namespace std;typedef long long LL;LL qmi(int a, int k, int p){LL res = 1 % p;while(k){if(k & 1) res = res * a % p;    //如果最后一位是1,乘上a^2^a%pa = a * (LL)a % p;  //a向后迭代,继续平方k >>= 1;    //把k的最后以为删掉}return res;
}int main(){int n, a, b, p;cin >> n;while(n--){scanf("%d%d%d", &a, &b, &p);printf("%lld\n", qmi(a, b, p));}return 0;
}

作者:为梦而生
链接:https://www.acwing.com/solution/content/220897/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.yayakq.cn/news/529703/

相关文章:

  • 单页网站cms欧美风格网站源码
  • 网站短期技能培训wordpress文章加颜色
  • 异常网站服务器失去响应阿勒泰地区住建设局网站
  • 创建网站的注意事项文明seo
  • 网站建设行业杭州企业画册设计公司
  • 陕西专业网站建设哪家好天津市做网站的公司有哪些
  • 如何查看网站开发商公司做网站的作用
  • 事业单位网站方案wordpress邮箱配置stmp
  • 北京专业快速建站制作物流专线做网站
  • 开公司可以在哪些网站做推广东莞网站推广团队
  • 怎么分辨网站是不是h5罗湖网站建设-信科网络
  • asp网站模板安装教程临沂网站建设临沂
  • 坑梓网站建设如何学校网站建设教程
  • 宣武门网站建设长宁网站建设公司
  • 有域名可以自己做网站吗织梦视频网站源码
  • 门户网站设计与开发如何更改网站图标
  • 网站备案信息登记表建网站赚钱 知乎
  • 东莞网站推广怎么样优化网络的软件下载
  • 建设一个功能简单的网站模板板网站
  • 打开网站是iis7dw怎么切片做网站
  • 手机网站设计模板查询网站访问量
  • 网站开发href使用本地链接营销推广平台都干什么的
  • 做网站需要的流程网站帮助文档怎么写
  • 新站优化案例公司简介宣传
  • 太原网站建设推广个人网站建站步骤
  • 吉祥物在线设计网站标书制作简单吗
  • app外包推广深圳网站建设及优化
  • 国外 定制网站移动网络建设
  • 济南知名网站建设平台高雅大气的三字公司名称
  • 360元网站建设 网络服务网站关键词排名不稳定