题目大意
定义集合xor操作 A xor B=A∪B-A∩B。
问有多少对(P,Q)满足 P∈A Q∈B 使得 (P xor A)xor(Q xor B)=A xor B其中P Q都是集合。
答案对1e9+7取模。
例如:A ={1} ,B={1,2},A xor B = {2},枚举所有情况P Q有2种。
做法
不难猜出结论是2^{交集个数}
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
const int mo=1000000007;
int i,j,k,l,t,m;
ll n;
ll quicksortmi(ll n){
if (!n) return 1;
ll t=quicksortmi(n/2);
t=t*t%mo;
if ((ll)n%2) t=t*2%mo;
return t;
}
int main(){
scanf("%lld%lld%lld",&n,&n,&n);
printf("%lld\n",quicksortmi(n));
}