[BOJ] 13358. Exponial

starbow·2025년 5월 7일

PS/CP

목록 보기
24/25

문제 링크

nnmm이 주어졌을 때 아래 식에서 ansans를 구하면 되는 문제입니다.

n(n1)(n2)21ansmodmn^{(n-1)^{(n-2)^{\cdots^{2^{1}}}}} \equiv ans \mod{m}

풀이를 설명하기 전에 아래와 같이 EiE_{i}ϕi(n)\phi^{i}(n)을 정의하겠습니다.

Ei=i(i1)(i2)21ϕi(n)={(ϕϕi1)(n),if  x<0n,otherwiseE_{i} = i^{(i-1)^{(i-2)^{\cdots^{2^{1}}}}} \newline \phi^{i}(n) = \begin{cases} (\phi \circ \phi^{i-1})(n),\quad \text{if} \;x<0\\ n,\quad \text{otherwise} \end{cases}

처음 이 문제를 볼 때 오일러의 정리를 연쇄적으로 사용해서 해결할 수 있을것 같다는 생각이 들었습니다.

실제로 다음과 같이 식을 전개할 수 있습니다.

g0En1(ng0)kn1ansmodmg1En2(n1g1)kn2kn1modϕ(m)g2En3(n2g2)kn3kn2modϕ2(m)g_0^{E_{n-1}} \cdot \left(\frac{n}{g_0}\right)^{k_{n-1}} \equiv ans \mod{m} \newline g_1^{E_{n-2}} \cdot \left(\frac{n-1}{g_1}\right)^{k_{n-2}} \equiv k_{n-1} \mod{\phi(m)} \newline g_2^{E_{n-3}} \cdot \left(\frac{n-2}{g_2}\right)^{k_{n-3}} \equiv k_{n-2} \mod{\phi^2(m)} \newline \cdots

여기서 Eikimodϕni(m)E_{i} \equiv k_{i} \mod \phi^{n-i}(m)이고 gig_{i}gcd(nigi,ϕi(m))=1\gcd(\frac{n-i}{g_i}, \phi^{i}(m))=1을 성립시키는 가장 작은 양의 정수입니다. 그러면 오일러의 정리를 계속 사용할 수 있어 위와 같이 식 전개를 할 수 있습니다.

그럼 식을 어디까지 전개해야할까요? 먼저 다음 정리를 증명해 보겠습니다.

Theorem 1. m2m \geq 2이면 ϕ2(m)m2\phi^2(m) \leq \frac{m}{2}

m=2rpipirim = 2^{r}\displaystyle\prod_{p_i}{p_i^{r_i}}라고 합시다.

Case 1) r>0r > 0
ϕ(m)=2r1pipiri1(pi1)12ϕ(m)\phi(m) = 2^{r-1}\displaystyle\prod_{p_i}{p_i^{r_i-1}(p_i-1)} \leq \frac{1}{2}\phi(m)가 성립합니다. ϕ2(m)ϕ(m)\phi^2(m) \leq \phi(m)은 자명하므로 ϕ2(m)m2\phi^2(m) \leq \frac{m}{2}가 성립합니다.

Case 2) r=0r = 0
ϕ(m)m1\phi(m) \leq m - 1은 자명합니다. 그리고 ϕ(m)=pipiri1(pi1)\phi(m) = \displaystyle\prod_{p_i}{p_i^{r_i-1}(p_i-1)}이 성립하는데 각 pi1p_i - 1은 짝수이므로 ϕ(m)\phi(m) 또한 짝수입니다. 즉, Case 1)에 의하여 ϕ2(m)12ϕ(m)m2\phi^2(m) \leq \frac{1}{2}\phi(m) \leq \frac{m}{2}이 성립합니다.

즉, Theorem 1에 의하여 O(logm)O(\log{m})번만 전개하면 충분합니다. 그런데 문제는 giEni1g_i^{E_{n-i-1}}를 어떻게 계산해야 할까요? 당연하지만 gcd(gi,ϕi(m))1\gcd(g_i, \phi^{i}(m)) \neq 1이므로 오일러의 정리를 그대로 사용할 수 없습니다.

하지만 다음 정리를 증명하면 오일러의 정리 비슷하게 계산할 수 있게됩니다.

Theorem 2. aϕ(m)a2ϕ(m)modma^{\phi(m)} \equiv a^{2\phi(m)} \mod m

m=i=1vpiri,a=j=1wqisim = \displaystyle\prod_{i = 1}^{v}{p_i^{r_i}}, a = \displaystyle\prod_{j = 1}^{w}{q_i^{s_i}}이라고 하겠습니다. 그리고 {p1,p2,,pu}={q1,q2,,qu},{pu+1,,pv}{qu+1,,qw}=\left\{ p_1, p_2, \cdots , p_u \right\} = \left\{ q_1, q_2, \cdots , q_u \right\}, \left\{ p_{u+1}, \cdots , p_v \right\} \cap \left\{ q_{u+1}, \cdots , q_w \right\} = \varnothing라고 하겠습니다.

Case 1) u+1ivu + 1 \leq i \leq v

gcd(piri,a)=1\gcd(p_i^{r_i}, a) = 1이므로 aϕ(m)1modpiria^{\phi(m)} \equiv 1 \mod{p_i^{r_i}}이 성립합니다.

Case 2) 1iu1 \leq i \leq u

pipiri1(pi1)0modpirip_i^{p_i^{r_i-1}(p_i-1)} \equiv 0 \mod{p_i^{r_i}}가 성립합니다. 즉, aϕ(m)0modpiria^{\phi(m)} \equiv 0 \mod{p_i^{r_i}}이 성립합니다.

Case 1, 2에 의하여 aϕ(m)a2ϕ(m)modpiria^{\phi(m)} \equiv a^{2\phi(m)} \mod{p_i^{r_i}}이 항상 성립합니다. 즉, 중국인의 나머지 정리에 의하여 aϕ(m)a2ϕ(m)modma^{\phi(m)} \equiv a^{2\phi(m)} \mod m이 성립합니다.

E5>109E_5 > 10^9 입니다. 즉, giEni1g_i^{E_{n-i-1}}를 계산할 때 ni14{n-i-1} \leq 4라면 Naive하게 계산하고 ni15n-i-1 \geq 5이면 giEni1gikni1+ϕi+1(m)modϕi(m)g_i^{E_{n-i-1}} \equiv g_i^{k_{n-i-1} + \phi^{i+1}(m)} \mod{\phi^{i}(m)} 이므로 gikni1+ϕi+1(m)g_i^{k_{n-i-1} + \phi^{i+1}(m)}를 계산하면 됩니다.

시간복잡도는 O(logm(logm+π(m)))O(\log{m} \cdot (\log{m} + \pi(\sqrt{m})))입니다.

profile
🎈 Journey of problem solving

0개의 댓글