当前位置: 首页 > news >正文

容斥与二项式反演

先挖坑,后填坑。


容斥

容斥,实际上就是用总的方案数减去不合法的方案数。

我们考虑以下组合恒等式:

\[\sum_{i = 0}^{n} (-1) ^ {i} C_{n}^{i} = [n = 0] \]

为什么这个式子跟容斥有关呢?

我们考虑不合法的数量为 \(n\),如果我们计算 \(n\) 的子集并且乘上容斥系数后,你就会发现答案只有在 \(n = 0\) 时有值,所以这个就是对的。

分特产

我们考虑钦定 \(i\) 个人不选特产,其余任意的方案数,这个可以用挡板法解决,所以答案就为:

\[\sum_{i = 0}^{n - 1} (-1)^{i} C_n^i \prod_{j = 1}^m C_{a_j + n - i - 1}^{a_j} \]

硬币购物

我们先考虑没有硬币的情况,可以发现这个可以直接用多重背包预处理来做。

那么现在加上限制后我们考虑容斥,我们枚举至少集合内不满足条件,那么这个只需要减一减然后再乘个容斥系数就做完了。

[SDOI2013] 方程

我们这里只考虑模数是质数的情况。

首先没有限制是好做的,直接挡板法即可,然后你就会发现第二种限制也是好做的,可以理解为在这个集合内拿走一些数,之后我们在考虑容斥,把第一种限制转换为第二种限制,然后就做完了。

水仙花

我们注意到连续的一段钦定不合法的长度不会超过 \(\log_2 m\) 之后我们预处理一个东西,设 \(pre_{i,j}\) 表示连续不合法长度为 \(i\),结尾为 \(j\) 的方案数,这个是好转移的,之后对于同一长度的求个和,记为 \(sum_i\),目前复杂度 \(O(m \log_2^2 m)\)

之后我们利用容斥先写出答案的表达式:

\[ans = \sum_{i = 0}^n f(i) \ \ (-1)^i \]

其中我们设 \(f(i)\) 表示钦定 \(i\) 个不合法方案数,我们上魔法,根据上面的式子设计出来一个 dp,我们设 \(dp_i\) 表示考虑到前 \(i\) 个数的答案,那么就有如下转移:

\[dp_i = \sum_{i = 1}^{\log_2 m} dp_{j - i} \ \ sum_j \ \ (-1)^{j - 1} \]

之后就没了。

二项式反演

To Be Continued

http://www.sczhlp.com/news/148196/

相关文章:

  • react useCallback Hook详解
  • 从Docker构建失败到CRA被淘汰:一个React项目的ES模块探索记录
  • 充气泵PCBA方案中数字传感器和模拟传感器的差异
  • 做塑料的网站关联词有哪些四年级
  • 专门做彩平的网站大连网站开发乛薇
  • 建设网站的技术手段在线做六级阅读网站
  • 法治建设网站模块名称网站开发绑定qq
  • 手机网站 教程wordpress管理员账号
  • 那里有正规网站开发培训学校我想找电商合作
  • 实用指南:小米17手机的上市公司供应商
  • 网站建设和网袷宣传建设一个电商网站
  • 固定在网站底部扬州招标工程建设信息网
  • 献县网站建设价格关注济南网站建设
  • 如何建设医院网站男生都知道的微信公众号
  • 怀来县建设局网站做网站都用什么语言
  • CDN + WAF + CLB + Higress 架构下的 TLS 加解密详细解析(适用阿里云)
  • react useMemo Hook详解
  • 做网站 做推广需要知道什么营销型网站框架
  • flash全站案例网站预览建筑装饰设计资质
  • 仙桃哪里做网站wordpress门户网站
  • 长沙做网站好的公司有哪些沧州网络制作公司有哪些
  • 毕业设计商城网站开发公司网站建设外包流程
  • 织梦网站备案建设银行确认参加面试网站
  • 建设银行昆山分行网站wordpress 学院 模板
  • 相亲网站建设关键游戏排行榜前十名
  • 凡科建站的网址网络推广软文
  • 做一下网站网站品牌建设的基本原则
  • 网站网站建设网站驻马店网站开发
  • Python技能大赛-备赛建议
  • 在线网站建设价格多少阳信县住房和城乡建设局网站