社区讨论

进士睺人WA 90pts on#9#11

P3747[六省联考 2017] 相逢是问候参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mjl97yyg
此快照首次捕获于
2025/12/25 17:42
2 个月前
此快照最后确认于
2025/12/27 16:10
2 个月前
查看原帖
将代码中表示修改次数最大值的数值+1
并将你表示嵌套的φ(p)\varphi(p)的数组的新空间赋值为1
代码大概是
CPP
phimod[++level]=1;
一组hack数据(来源)(祖传的)
in
CPP
1 4 3 2
0
0 1 1
0 1 1
0 1 1
1 1 1

out
CPP
1
原理:
我们修改一定次数之后值不变,原理是cccmodp=cccmodφ(p)+φ(p)modp=cccmodφ(φ(p))+φ(φ(p))modφ(p)+φ(p)modpc^{c^{c^\cdots}}\mod{p}=c^{c^{c^\cdots}\mod{\varphi(p)}+\varphi(p)}\mod{p}=c^{c^{c^\cdots\mod{\varphi(\varphi(p))}+\varphi(\varphi(p))}\mod{\varphi(p)}+\varphi(p)}\mod{p},迭代的终点是φ(φ(φ(p)))=1\varphi(\varphi(\varphi(\cdots p\cdots)))=1此时把下面的一部分幂塔丢掉后会剩下一个cccmod1+1=0+1=1c^{c^{c^\cdots}}\mod1+1=0+1=1是常量,所以推到下面去整个成的常量
但是
扩展欧拉定理是
abab(modp)(b<φ(p))a^b\equiv a^b\pmod p(b<\varphi(p))
ababmodφ(p)+φ(p)(modp)(b>=φ(p))a^b\equiv a^{b\mod \varphi(p)+\varphi(p)}\pmod p(b>=\varphi(p))
所以我之前写的cccmod1+1=0+1=1c^{c^{c^\cdots}}\mod1+1=0+1=1ccc=0c^{c^{c^\cdots}}=0ai=0a_i=0时会坠机,此时需要多加一个c变成1保证不坠机

回复

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

正在加载回复...