有没有大佬能解释一下这篇题解代码中合并集合 S 和 T 中 2T0 和 2S0 这两个的含义是什么?题解思路中合并 S 和 T 那个式子中也没有写到这个幂次的含义的,只有 k=1 那个简化问题有。这两个有什么关系吗?
struct data{
int sum0,sum1,sum2;
data(){sum0=sum1=sum2=0;}
data(int x){sum0=1;sum1=x;sum2=1ll*x*x%MOD;}
data(int _sum0,int _sum1,int _sum2):sum0(_sum0),sum1(_sum1),sum2(_sum2){}
data operator +(const data &rhs){
return data(
sum0+rhs.sum0,
(1ll*sum1*pw[rhs.sum0]+1ll*pw[sum0]*rhs.sum1)%MOD,
(1ll*sum2*pw[rhs.sum0]%MOD+2ll*sum1*rhs.sum1+1ll*pw[sum0]*rhs.sum2)%MOD);
}
} f[MAXN+5];
可能是我唐乐但是确实看不懂。