1.对于取模而言,可以重新写add,sub,mul函数以避免忘取模
int add(int a,int b){ return a+b < mod ? a+b : a+b-mod;} int sub(int a,int b){ return a<b ? a+mod-b : a-b;} int mul(int a,int b){ return 1ll*a*b%mod;}
2.\(3^n\)子集枚举
for(int j = (i-1)&i ; j ; j = (j-1)&i)