[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3884 [题意] 求2^2^2… mod p [思路] 设p=2^k * q+(1/0),使q为一个奇数 第二项如果是1,mod 1 为0可以忽略. 则我们求: 2^2^2… mod p =2^k*(2^(2^2…-k) mod q) 因为q是奇数所以与2互质,根据欧拉定理: a^phi(p) mod p=1,(a,p)=1 转化为: 2^k*(2^(2^2…mod phi(p) –…
题目大意:多次询问,每次给你$p$询问$2^{2^{2^{\dots}}}\bmod p$ 题解:扩展欧拉定理,求出$\varphi(p)$即可.因为$2^{2^{2^{\dots}}}>>p$,所以其实每一次算的时候都可以直接加上$\varphi(p)$,不用判断 卡点:无 C++ Code: #include <cstdio> namespace Math { const int N = 1e7 + 1; int pri[N], ptot, phi[N]; bool notp[…
[题目链接] 点击打开链接 [算法] 通过欧拉拓展定理,列出递推公式 [代码] #include<bits/stdc++.h> using namespace std; typedef long long ll; ll T,N; map<ll,ll> M; template <typename T> inline void read(T &x) { ll f = ; x = ; char c = getchar(); for (; !isdigit(c); c…