BZOJ 4569: [Scoi2016]萌萌哒【倍增并查集

倍增并查集,考试naive地写的暴力_(:_ゝ∠)_

#include
#include
#include
#include
using namespace std;	int n,m;
const int MAXN=100057;
const int MOD=1000000007;
int f[17][MAXN];
int a,b,c,d,k;
long long ans=9;
int	findfather(int c,int x){ return f[c][x]==x?x:f[c][x]=findfather(c,f[c][x]);}
void merge(int c,int x,int y){
	if(findfather(c,x)==findfather(c,y))	return ;
	f[c][f[c][x]]=f[c][y];
	if(!c)	return ;
	--c;
	merge(c,x,y),merge(c,x+(1<0){
		ans*=10;
		if(ans>=MOD)	ans%=MOD;
	}
	cout<


你可能感兴趣的:(OI,BZOJ,倍增)