【数论】【ex-BSGS】poj3243 Clever Y
用于求解高次同余方程A^x≡B(mod C),其中C不一定是素数。 http://blog.csdn.net/tsaid/article/details/7354716 这篇题解写得最好。 那啥,这题的坑点请去看discuss。 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; typedef long long ll; void exgcd(ll a,ll b,ll &d,ll &x,ll &y) { if(!b) { d=a; x=1; y=0; } else { exgcd(b,a%b,d,y,x); y-=x*(a/b); } } #define MAXN 100001 #define MOD 100003 struct HashTable { ll v[MAXN]; int __next[MAXN],first[MOD],en,a[MAXN]; void Insert(ll x,int J){ if(Find(x)!=-1){ return; } int o=x%MOD; v[en]=x; a[en]=J; __next[en]=first[o]; first[o]=en++; } int Find(ll x){ int o=x%MOD;