首页 > 其他分享 >容斥原理计算方法

容斥原理计算方法

时间:2024-10-24 10:36:47浏览次数:1  
标签:方案 系数 sum 元素 容斥 times 原理 计算方法

一些条件,都要满足

为什么容斥问题会有一套专门的计算方法?

其实容斥问题是一种常见子集答案总和的信息,常见的求解方法为DP。

在求解过程中往往需要利用之前已经有了的信息,尝试整体转移,以优化时间复杂度。


定义

根据定义式: \(\sum_{S\subset T}(-1)^{|S|}f_S\) 进行计算,复杂度\(\mathcal O(2^n)\)

集合大小等价合并

只与集合大小有关,而不关心里面的元素,可以合并,用组合数表示其系数,复杂度 \(\mathcal O(n)\)

增量法

每次往集合中加入元素进行考虑。

设 \(g_i=\sum\limits_{S\subset\{1,2,\cdots,i-1\},T=S\cup\{i\}}(-1)^{|S|}f_T\),表示为考虑前 \(i\) 个元素,确定 \(i\) 必选时的不满足条件的方案数量,在 \(g\) 之间进行 DP。

局部合法

整体都要合法的方案数 \(=\) 所有方案数 \(-\) \(\sum\) 一部分合法方案数 \(\times\) 另一部分无限制的方案数 \(\times\) 一个结合系数使得合起来不合法。

\(f_n=g_n-\sum_i f_i\times g_{n-i}\times c_{i,n-i}\)

\(\color{red}连通图计数\)

比如说 \(n\) 个点的联通图的方案数为 \(f_n\),\(n\) 个点的图的的个数为 \(g_n\),则:

\[f_n=g_n-\sum_if_ig_{n-i}{n-1\choose i-1} \]

意为枚举第\(n\)个点所在的连通块大小。

\(\color{red}等于=小于等于-小于\)

带容斥系数DP

就是将容斥系数当作方案的权值,变成一个方案权值和问题进行解决。

具体详见方案权值和问题。

枚举刚好不合法

即假设要求元素 \(\le a\),那我就使得元素 \(=a+1\) ,进行求解

等价合并

即要求所有元素\(\le a\),直接枚举\(=a\) 的数的个数。

\(\color{red}Slime段模型\)

问题:对于一个有 \(m\) 个 \(1\),\(n-m\)个 \(0\) 的,求其中最长的 01 段不超过 \(k\) 的方案数。

我们可以再\(k+1\) 个 \(1\) 后面添一个 \(0\) 表示一段的结束。

令 \(S(n,t,k,m)=(-1)^t{n-tk\choose t}{n-t(k+1)\choose m-tk}\)

假设当前有 \(t\) 段不满足,带容斥系数方案数为 \(L(k,t)=S(n,t,k+1,m)-S(n-k-1,t-1,k+1,m-k-1)\)

因为还要考虑最后一个段后面不用加 \(0\) 需要将方案数加上,但这里是加上容斥系数\(-1\),所以为减。

答案为 \(A(k)=\sum_{t=0}^{\min((n-k-1)/(k+1)+1,m/(k+1)}L(k,t)\),

标签:方案,系数,sum,元素,容斥,times,原理,计算方法
From: https://www.cnblogs.com/lupengheyyds/p/18499069

相关文章

  • KASan部署、使用与原理分析
    文章目录前言1、概述2、使用方法3、测试用例3.1、检测加载的内核模块3.2、检测调用的内核模块3.3、通过系统调用检测3.4、检测编译到Linux内核中的内核模块4、工作原理4.1、影子内存(ShadowMemory)4.2、内存状态(MemoryStates)4.3、红色区域(Redzones)4.4、KASan的实现5、......
  • XCVU9P 板卡设计原理图:616-基于6U VPX XCVU9P+XCZU7EV的双FMC信号处理板卡 高性能数字
    一、板卡概述     板卡基于6UVPX标准结构,包含一个XCVU9P高性能FPGA,一片XCZU7EVFPGA,用于IO扩展接口,双路HPCFMC扩展高速AD、DA、光纤接口等。是理想应用于高性能数字计算,光纤加速的板卡。板卡全工业级芯片,满足高低温要求。 二、处理板技术指标  ●  主FPGA......
  • 【网络原理】——HTTP协议、fiddler抓包
     阿华代码,不是逆风,就是我疯你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!!目录一:认识HTTP1:超文本传输2:发展历史3:HTML4:交互过程5:报文格式6:HTTP请求格式7:HTTP的响应格式二:fiddler1:介绍2:设置三:URL1:认识URL2:URL完整结构3:URLencode四:HTTP首行方......
  • 【算法笔记】前缀和算法原理深度剖析(超全详细版)
    【算法笔记】前缀和算法原理深度剖析(超全详细版)......
  • 手把手教你学基带SOC芯片(2.1.6)--数字通信系统的工作流程:信源解码的基本原理
    目录信源解码的基本原理1. 数模转换(D/A转换)2. 滤波3. 信号重构常见的信源解码方法1. 脉冲编码调制(PCM)解码2. 差分脉冲编码调制(DPCM)解码3. 自适应差分脉冲编码调制(ADPCM)解码4. 音频解码5. 图像解码应用场景总结信源解码是数字通信系统接收过程中的一个重......
  • 滑线变阻器的工作原理是什么?
    滑线变阻器,又称滑动变阻器或可变电阻器,是一种可以连续改变电阻值的电子元件。它的工作原理主要是通过改变电阻丝的长度或面积来实现电阻值的变化。滑线变阻器的结构简单,操作方便,广泛应用于各种电子设备和实验装置中。滑线变阻器的主要组成部分包括固定部分、滑动部分和电阻丝。固......
  • 一文彻底理解大模型 Agent 智能体原理和案例
    什么是大模型Agent?大模型Agent,作为一种人工智能体,是具备环境感知能力、自主理解、决策制定及执行行动能力的智能实体。简而言之,它是构建于大模型之上的计算机程序,能够模拟独立思考过程,灵活调用各类工具,逐步达成预设目标的智能存在。Agent是AI大模型应用的主要新形态......
  • 【JVM神秘大门】Java虚拟机原理保姆式教学,零基础速成GC机制(下篇)
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • FMC 子卡设计原理图:154-基于FMC 八路SFP+万兆光纤子卡
    一、板卡概述   本卡是一个FPGA夹层卡(FMC)模块,可提供高达8个SFP / SFP +模块接口,直接插入千兆位级收发器(MGT)的赛灵思FPGA。支持业界标准的小型可插拔(SFP / SFP +)收发器模块接口。   板卡支持8路光纤同时使用,也可以top面四路或者bottom面单独四路使用。 二、性......
  • 计算机组成原理之虚拟存储器
    定义:虚拟存储器是主存的扩展,由主存和辅存共同构成,在硬件和系统软件的共同管理下工作。特点:对应用程序员透明。具有主存的速度和辅存的容量。将主存和辅存的地址空间统一编址,形成一个庞大的地址空间,用户可以在此基础上自由编程,而不必关心物理地址、主存容量等问题。地......