首页 > 其他分享 >【模板】容斥原理

【模板】容斥原理

时间:2024-04-18 22:36:42浏览次数:23  
标签:dots le limits sum 形式 容斥 原理 模板

集合形式

设 \(S\) 是一个有限集,\(A_1,A_2,\dots,A_n\) 是 \(S\) 的 \(n\) 个子集,则:
\(|S-\cup_{i=1}^{n}A_i|=\sum\limits_{i=0}^{n}(-1)^i\sum\limits_{1\le j_1\le j_2\le\dots\le j_i}|S\cap(\cap_{k=1}^iA_{j_k})|\)

符号形式

设 \(S\) 是一个有限集,\(a_1,a_2\dots a_n\) 是 \(n\) 中性质。
记 \(N(a_i)\) 为 \(S\) 中有 \(a_i\) 性质的元素的数量,特殊地,记 \(N(1)=|S|\)。
\(N(a_{j_1}a_{j_2}\dots a_{j_k})\) 为 \(S\) 中同时有 \(a_{j_1},a_{j_2},\dots,a_{j_k}\) 性质的元素的数量。
记 \(N(a+b)=N(a)+N(b),N(a-b)=N(a)-N(b)\)。

符号形式的优点

符号形式把容斥原理表达为代数形式
image

典型例题(必会)

  1. 求不定方程 \(x_1+x_2+\dots+x_k=n\) 的接的数量,其中 \(x_i\) 为非负整数,且 \(l_i\le x_i\le r_i(1\le i \le k)\)。
  2. \(p\) 是 \(1,2,\dots,n\) 的一个排列,满足刚好存在 \(k\) 个 \(1 \le i \le n\) 满足 \(p_i = i\),给定 \(n,k\),求满足要求的排列有多少个。

第二类斯特林数

定义

将 \(n\) 个两两不同的元素,划分为 \(k\) 个互不区分的非空子集的方案数,记作 \(S(n,k)\)。

递推式

\(S(n,k)=S(n-1,k-1)+kS(n-1,k)\)。

通项公式

\(S(n,m)=\sum\limits_{i=0}^{m}\frac{(-1)^{m-i}i^n}{i!(m-i)!}\)。

标签:dots,le,limits,sum,形式,容斥,原理,模板
From: https://www.cnblogs.com/shyiaw/p/18144659

相关文章

  • RC4Drop加密技术:原理、实践与安全性探究
    第一章:介绍1.1加密技术的重要性加密技术在当今信息社会中扮演着至关重要的角色。通过加密,我们可以保护敏感信息的机密性,防止信息被未经授权的用户访问、窃取或篡改。加密技术还可以确保数据在传输过程中的安全性,有效防止信息泄露和数据被篡改的风险。在网络通信、电子商务、金......
  • 容斥原理初步
    容斥原理1.容斥原理容斥原理用来解决求解\(|\bigcup_{i=1}^{n}A_i|\)的问题.具体的,定义\(U=\{i|i\in\mathbb{Z},i\in[1,n]\}\),我们有公式:\[|\bigcup_{i=1}^{n}A_i|=\sum_{S\inU}(-1)^{|S|+1}|\bigcap_{i\inS}A_i|\]由公式形式也不难观察到容斥原理可以化并为交.2.......
  • Controller使用模板
    /**Copyright2013-2018theoriginalauthororauthors.**LicensedundertheApacheLicense,Version2.0(the"License");*youmaynotusethisfileexceptincompliancewiththeLicense.*YoumayobtainacopyoftheLicenseat**......
  • 光学雨量计雨量传感器的工作原理与实时数据采集
    光学雨量计雨量传感器的工作原理与实时数据采集光学雨量计是一种常用的雨量传感器,它通过光学原理实现对降水量的测量。其工作原理主要包括两个方面:雨滴传感和数据采集。在雨滴传感方面,光学雨量计利用红外线传感器或者激光器发射出的光束穿过空气,当光束遇到雨滴时,会由于雨滴的散......
  • day12_我的Java学习笔记 (package包、权限修饰符_private+缺省+protected+public、fin
    1.包IDEA配置自动导包:2.权限修饰符同一个类中的,【private、缺省、protected、public】都可以访问同一个包中的其他类,【private】不可以访问,【缺省、protected、public】都可以访问不同包下的无关类,【private、缺省、protected】都不可以访问,只有【public......
  • MyBatis-07-插件原理
    MyBatis插件MyBatis的插件实际上就是Interceptor,拦截器,拦截并重写SQLInterceptor:拦截器InterceptorChain:拦截器链Invocation:封装Object.method(args),反射调用Plugin:JDK代理处理器InvocationHandler,封装一个Interceptor及其拦截的方法,及拦截对象+拦截方......
  • led驱动程序进阶-基于面向对象思想的led驱动模板
    在上一篇文章中编写led驱动程序采用的是最传统的编写方式,这里回顾一下流程就是:给file_operations结构体添加具体的open、read、write、release函数,并实现这些函数的定义,然后定义入口函数并在里面使用这个结构体变量注册驱动、寄存器地址映射、创建设备,然后定义出口函数并进行撤销......
  • 编译原理(清华大学版)第三章
    第三章词法分析正规式、正规文法设\(G=(V_N,V_T,P,S)\),如果P中每一个产生式的形式都是\(A\rightarrowaB\)或\(A\rightarrowa\),其中\(A,B\)都是非终结符,\(a\inV_T^*\),则是3型或正规文法。正规文法所描述的是\(V_T\)上的正规集,即通过\(V_N,V_T,P,S\)来表示。正规式也称正则......
  • 【编译原理】正则式转NFA转DFA 代码实现(C/C++)
    直接上代码:#include<bits/stdc++.h>usingnamespacestd;//nfa结构定义structnst{vector<int>a[26],e;//接收a-z会到达的状态,接收eps会到达的状态boolf=0;//=0为可接受态};vector<nst>nfa;set<char>alp;stringstr;set<int>accepted;struc......
  • FPGA器件实现逻辑运算的基本原理是(   )。
    选项:A、采用最小项相加的电路形式实现逻辑运算B、采用与非门电路实现逻辑运算C、采用异或门电路实现逻辑运算D、采用查找表的方式实现逻辑运算答案:D解析:组成FPGA的两个最基本的部分是组合逻辑以及时序逻辑,分别实现这两个基本部分的结构就是FPGA的基本单元。组合逻辑......