用于考试复习吧
(修改于18.11.7)
1 int fa[100]; 2 void init() 3 { 4 for(int i=1;i<=n;++i) fa[i]=i; 5 } 6 int Myfind(int x) 7 { 8 if(x!=fa[x]) fa[x]=Myfind(fa[x]); 9 return fa[x];10 }11 void Myunion(int x,int y){fa[Myfind(x)]=Myfind(y);}12 bool Mycheck(int x,int y)13 {14 if(Myfind(x)==Myfind(y)) return true;15 return false;16 }
(修改于18.11.7)
1 int Mypower(int x,int m) 2 { 3 int re=1; 4 while(m) 5 { 6 if(m&1) re*=x,re%=p; 7 x*=x,re%=p; 8 m>>=1; 9 }10 return re;11 }
最小生成树(修改于18.11.7)
1 #include2 #include 3 using namespace std; 4 int fa[5005]; 5 struct edge{ 6 int s,t,l; 7 bool operator < (const edge w) const{ 8 return l