
集合幂级数
对于序列 \(a_0\sim a_{2^n-1}\) ,定义多元多项式 \(A(x_1\sim x_n)=\sum_{0\le I\le 2^n} a_I x_1^{i_1}x_2^{i_2}\cdots x_n^{i_n}\) ,其中 \(i_1\sim i_n\) 是 \(I\) 的二进制表示。
然后你就可以发现,这个东西本质就是集合的生成函数。
简记序列 \(a\) 的集合幂级数为 \(A(x)=\sum a_I x^I\)。
进一步定义集合幂级数的乘法,也就是 \(A(x)\cdot B(x)\)。
在此之前,应该先定义单项式的乘法,也就是 \(x^I\cdot x^J\),在普通的生成函数里,乘法就是普通的乘法,所以 \(x^I\cdot x^J=x^{I+J}\),这也构成了乘法卷积是下标相加的形式。集合幂级数中的乘法一般为位运算,有以下几种形式:
- \(x^I\cdot x^J=x^{I\oplus J}\)
- \(x^I\cdot x^J=x^{I\cup J}\)
- \(x^I\cdot x^J=x^{I\cap J}\)
性质:
与生成函数有同样的性质,对于 \(a * b= c\),有 \(A(x)\cdot B(x)=C(x)\)。其中位运算相同,以下拿或举例: