社区讨论

x^y T次询问算法

学术版参与者 6已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@lqj9soy8
此快照首次捕获于
2023/12/24 17:11
2 年前
此快照最后确认于
2023/12/24 19:32
2 年前
查看原帖
x,y,n,mx,y,n,m 均为整数
给出最大底数 n(n>0)n(n>0) 和最大指数 m(m>0)m(m>0) ,共有 TT 次询问,每次询问给出两个数,x,y(1xn,1ym)x,y(1 \le x\le n,1\le y\le m),求 xyx^y
容易想到的就是快速幂,时间复杂度应为 TxlogyT x\log y
我还想到一种方法就是预处理 2211lognm\log nm 次幂,对于 xyx^y 进行二进制分解,分解出来的二进制数约为 logxy\log x^y 位然后计算
ans=2i×(1位是否为0)+2i1×(2位是否为0)+...+20×(i位是否为0)ans=2^i\times(第1位是否为0)+2^{i-1}\times(第2位是否为0)+...+2^0\times(第i位是否为0) 时间复杂度为 lognm+i=1Tlogxiyi\log nm+\sum^T_{i=1}\log x_i^{y_i}
有没有更快的算法

回复

8 条回复,欢迎继续交流。

正在加载回复...