防城港市网站建设_网站建设公司_CSS_seo优化
2026/1/18 13:57:21 网站建设 项目流程

这里会选一些集合幂级数题,但是作者至今不知道集合幂级数是什么东西,所以可能做法不是集合幂级数()。

P13275

好像是区分金银的题?

感觉比省选的岁月简单啊,不知道是不是这个题不是在图上的缘故。

就首先,你考虑枚举两个集合的与 \(I\),然后显然你只能选是这玩意的超集的数,每个数都可以扔 A,扔 B,扔了。所以是一个 \(2a_i+1\) 连乘的形式。

但是你发现这个显然不对,你可能与出来的是 \(I\) 的一个超集,然后你就算多了。

考虑容斥,设 \(i\subseteq A,i\subseteq B\),然后你的容斥系数就是 \((-1)^{|A|-|I|},(-1)^{|B|-|I|}\),乘起来就是 \((-1)^{|A|+|B|}\),于是你只需要枚举 \(A\cup B\),然后你的 \(I\)\(2^{|A\cap B|}\) 种选法。于是容斥系数是 \((-1)^{|A|+|B|}\times 2^{|A\cap B|}\)

然后你记 \(f_S\)\(\prod_{S\subseteq T}(a_T+1)\)\(g_S\)\(\prod_{S\subseteq T}(2a_T+1)\)。于是答案就是 \((-1)^{|A|+|B|}2^{|A\cap B|}g_{A\cup B}\dfrac{f_A}{f_{A\cup B}}\dfrac{f_B}{f_{A\cup B}}\)。然后把 \(|A\cap B|\) 拆成 \(|A|+|B|-|A\cup B|\)

然后设 \(h_S\) 表示 \((-1)^{|S|}2^{|S|}f_S\),然后你把 \(h\) 对自己做一下或卷积,得到的每一项 \(h_{A\cup B}\) 再乘上上面那个式子里剩下的东西就行。

但是,你发现这个 \(f\) 可能是 \(0\),然后你除 \(0\) 就会原地起飞。所以你维护一下 \(0\) 的数量,然后你发现你卷积的时候有一部分的 \(0\) 的个数永远不小于另一部分的 \(0\) 的个数,如果你发现不等那你要加上的那部分 \(0\) 一定更多,所以你最后除完还会剩一些 \(0\),所以这一部分没贡献,直接跳过就行了。

代码

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询