直接利用降冪公式(或者有人叫擴充套件尤拉定理?),由降冪公式:
那麼我們可以對這個式子降冪:
發現指數部分仍然是原表示式的形式,所以我們遞迴處理:
記f(p)=2^2^2^2^2... mod p
於是根據上述分析可得:
f(p)=2^(f(φ(p)+φ(p)) mod p
於是我們不斷遞迴至φ(p)=1,此時f(φ(p))=0為止即可
#include #include #include #include #include #include #include #include #define maxn 10000005
#define maxn 10000000
#define ll long long
using namespace std;
int prime[6000000];
bool used[maxn];
int phi[maxn];
int cnt=0;
void eular()
for(int j=1;j<=cnt&&i*prime[j]<=maxn;j++)
else}}
}ll pow(ll x,ll y,ll mod)
y/=2;
x=x*x%mod;
}return ans%mod;
}ll f(ll c)
return pow(2,f(phi[c])+phi[c],c)%c;
}int main()
return 0;
}
BZOJ 3884 上帝與集合的正確用法
description 根據一些書上的記載,上帝的一次失敗的創世經歷是這樣的 第一天,上帝創造了乙個世界的基本元素,稱做 元 第二天,上帝創造了乙個新的元素,稱作 被定義為 元 構成的集合。容易發現,一共有兩種不同的 第三天,上帝又創造了乙個新的元素,稱作 被定義為 構成的集合。容易發現,一共有四種...
BZOJ 3884 上帝與集合的正確用法
根據一些書上的記載,上帝的一次失敗的創世經歷是這樣的 第一天,上帝創造了乙個世界的基本元素,稱做 元 第二天,上帝創造了乙個新的元素,稱作 被定義為 元 構成的集合。容易發現,一共有兩種不同的 第三天,上帝又創造了乙個新的元素,稱作 被定義為 構成的集合。容易發現,一共有四種不同的 第四天,上帝創造...
Bzoj3884 上帝與集合的正確用法
求2 2222 22.mod p的值。po姐的題目誒 大 意就是上 面那樣,看上去 個2根 本不可做 不過有 尤拉定理 xa x amod p p mo dp 那麼我們有f n 2 2222 22.mo dn 2 2 2222 2.mod n n mo dn 2f n n m odn 遞迴做下去即可...