首页 > TAG信息列表 > 容斥

P5628 【AFOI-19】面基 (dp + 容斥)

P5628 【AFOI-19】面基 (dp + 容斥) 题目传送门 题目大意:略 题目分析: 首先我们观察数据范围,我们发现给定的图是一棵树,那么我们可以直接 \(dfs\) 来计算重要度,根据乘法原理可知。对于某条边的重要度为边两侧的节点个数的乘积。 接下来我们考虑用 \(dp\) 来进行求解,我们令 \(f_{i,j}\)

【luogu SP7685】FLWRS - Flowers(DP)(容斥)

FLWRS - Flowers 题目链接:luogu SP7685 题目大意 给你模数 m,问你有多少个长度为 n 的排列满足相邻两个差不为 1。 思路 首先一个简单的想法是容斥。 那有 \(n\) 对相邻的不满足,就乘上 \((-1)^n\)。 考虑如何统计,首先考虑不看数,就看每个位置是否会不满足。 于是能设计出一个 DP 为

「AGC036F」Square Constraints 题解

「AGC036F」Square Constraints 题解 题目大意 给定一个整数 $ n $,求有多少种 $ 0\ -\ 2n!-!1 $ 的排列 $ P $,使得对于每个 $ i $,都有 $ n^2 \le i^2 + P_i^2 \le 4n^2 $。输出答案对给定的 $ m $ 取余的结果。 输入 两个整数,$ n \(,\) m $。 输出 一个整数,表示答案。 思路 初始想

2022.8.21

1.学习了MCS最大势算法,补充了弦图几个性质和konig定理的证明,做完了PPT。 2.继续做了2道网络流24题,几道弦图相关的题目,看了昨天的CF,D题不是很懂 3.最大流最小割定理,弦图是完美图和Tutte,平面图判定的证明还不理解或没找到,一般图的最大匹配还不懂 4.帮着做了一点计数的内容,min-max容

容斥原理

https://www.acwing.com/problem/content/description/892/ 给定一个整数 \(n\) 和 \(m\) 个不同的质数 \(p_1, p_2, ..., p_m\)。 请你求出 1 ∼ \(n\) 中能被 \(p_1, p_2, ..., p_m\) 中的至少一个数整除的整数有多少个。 二进制枚举所有可能。 #include <bits/stdc++.h> using

[ABC236H] Distinct Multiples

一、题目 点此看题 二、解法 考虑容斥第二个限制,如果钦定 \(a_i=a_j\) 我们就连边 \((i,j)\),具体来说我们枚举边集 \(E\) 的子集 \(S\),设 \(f(S)\) 表示满足 \(\forall (u,v)\in S,a_u=a_v\) 的方案数,那么可以写出基础的容斥: \[\sum_{S} (-1)^{|S|} f(S) \]设 \(h(n)\) 表示大小为

1030 大水题 容斥原理

链接:https://ac.nowcoder.com/acm/contest/26656/1030来源:牛客网 题目描述 给出一个数n,求1到n中,有多少个数不是2 5 11 13的倍数。 输入描述: 本题有多组输入每行一个数n,1<=n<=10^18. 输出描述: 每行输出输出不是2 5 11 13的倍数的数共有多少。 示例1

F. K-th Power 容斥,莫比乌斯

F. K-th Power 传送门: 牛客:https://ac.nowcoder.com/acm/contest/34866/F cf:https://codeforces.com/group/5zHJ4CTyoU/contest/392060/problem/F 题意:求区间[l,r]中,不含有\(p^k\)因子的数字的个数。其中p是质数。 可以用容斥+莫比乌斯解决。 问题转换成求[1,r]和[1,l-1]含有\(p^

完美的集合

来自IOI2018中国国家候选队论文的一道关于 “点数-边数” 容斥的例题。 题意: 给出一棵树,每个点有重量和价值,每条边有边权。 考虑选出一个点的子集 \(S\),满足这些节点重量之和 \(\leq M\)且构成一个树上连通块, 把那些价值和最大的集合S称为完美的集合。 如果两个点 \(x, y\) 满足

【luogu P3175】按位或(min-max容斥)(高维前缀和 / FWT)

按位或 题目链接:luogu P3175 题目大意 有一个数 0 你一开始,然后每次你可以与上一个数 0~2^n-1 中的,每个数有它被你选择的概率。 然后问你期望要弄多少次才能使得这个数变成 2^n-1。 思路 首先这个弄成 \(2^n-1\) 显然不好弄,我们考虑一个神奇的东西,就是 min-max 容斥。 因为这个 \(

容斥原理学习笔记

引入 用一个简单的例子来引入容斥: 这个例子可以说是非常经典,一共有三种活动 \(\{1,2,3\}\) 。 同时你可以查询 \(f(S)\) 会返回参加了 \(S\) 集合中活动的人的个数。 现在的问题是求至少有多少个人参加了活动。 我记得这个是班上高一上集合时的作业最后一题。 看上去非常奇怪,但是

AGC038E

题面 有一个随机数生成器,生成 \([0,n-1]\) 之间的整数,其中生成 \(i\) 的概率为 \(\frac{A_i}{S}\),其中,\(S=\sum A_i\)。 这个随机数生成器不断生成随机数,当 \(\forall i\in[0,n-1]\),\(i\) 至少出现了 \(B_i\) 次时,停止生成,否则继续生成。 求期望生成随机数的次数,输出答案对 \(9982

【BZOJ3513-MUTC2013】idiots[生成函数+容斥]

题意: 给一些长度的木棍,问你构成三角形的方案数。\(n<=10^5\) 思路: 计数问题。三角形构成条件中:两短边和大于第三边即可。 可以用生成函数(fft乘法)统计出所有由两条(不同)边构成的长度和及其方案数。 然后乘上比该和小的总个数。 会发现,对于三条边(三元组),如果构成三角形会被算\(3\)次,否

容斥原理表示形式

容斥原理对于大多数人来说是一个原理,因为这个事实太显然了,你想想,满足某一个条件的元素个数-满足某二个条件的元素个数+满足某三个条件的元素个数显然是对的。于是大多数人就这么去把它当做一个原理去套了,然后被毒瘤出题人折磨致死。 所以这个东西是需要证明的。其实容斥原理就是一

容斥原理

容斥原理是一种重要的组合数学方法,可以让你求解任意大小的集合,或者计算复合事件的概率。 要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来,然后减去所有两个集合相交的部分,再加回所有三个集合相交的部分,再减去所有四个集合相交的部分,依此类推,一直计算到所有集合相交

容斥原理

在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理

容斥原理

在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原

容斥定理

在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理

容斥定理表现形式

两个集合的容斥关系公式:A∪B = A+B - A∩B (∩:重合的部分)三个集合的容斥关系公式:A∪B∪C = A+B+C - A∩B - B∩C - C∩A +A∩B∩C |A1∪A2∪…∪An| = Σ|Ai| - Σ|Ai∩Aj|+Σ|Ai∩Aj∩Ak| - … + |A1∩…∩An|×(-1)^(n+1) ==|Ai|-|Ai∩Aj|+|Ai∩Aj∩Ak|+ |A1∩…∩An|×(-1)^(n+

容斥定理

两个集合的容斥关系公式:A∪B = A+B - A∩B (∩:重合的部分)三个集合的容斥关系公式:A∪B∪C = A+B+C - A∩B - B∩C - C∩A +A∩B∩C|A1∪A2∪…∪An| = Σ|Ai| - Σ|Ai∩Aj|+Σ|Ai∩Aj∩Ak| - … + |A1∩…∩An|×(-1)^(n+1)==|Ai|-|Ai∩Aj|+|Ai∩Aj∩Ak|+ |A1∩…∩An|×(-1)^(n+1)

容斥原理

  |A∪B|=|A|+|B|−|A∩B||A∪B|=|A|+|B|−|A∩B|A表示事件A发生的概率或者方案数,B同理其实这个叫做单步容斥,因为这个仅仅有一次加减,而在信息学领域,多见的是多步容斥,就是有很多次加加减减,形式如下∣∣∣⋃i=1nSi∣∣∣=∑C⊆Mn(−1)|C|−1∣∣∣∣⋂T⊆CT∣∣∣∣|⋃i=1nSi|=∑C

离散 容斥定律的基本形式

 

容斥定律表现形式

两个集合的容斥关系公式:A∪B = A+B - A∩B (∩:重合的部分)三个集合的容斥关系公式:A∪B∪C = A+B+C - A∩B - B∩C - C∩A +A∩B∩C|A1∪A2∪…∪An| = Σ|Ai| - Σ|Ai∩Aj|+Σ|Ai∩Aj∩Ak| - … + |A1∩…∩An|×(-1)^(n+1)==|Ai|-|Ai∩Aj|+|Ai∩Aj∩Ak|+ |A1∩…∩An|×(-1)^(n+1)

P5333-[JSOI2019]神经网络【dp,容斥】

正题 题目链接:https://www.luogu.com.cn/problem/P5333 题目大意 给出\(n\)棵树,第\(i\)棵树有\(k_i\)个点,每棵树上的每个点和其它树上的所有点都有连边。 求这棵树有多少条哈密顿回路。 答案对\(998244353\)取模。 \(\sum_{i=1}^nk_i\leq 5000\) 解题思路 我们把每棵树分成若干

SD/XOI 2022 多边形

首先我们考虑不重不漏地统计这个事情,这个题事实上是凸多边形划分的一个拓展,传统的凸多边形剖分方案数就是卡特兰数。 那么这里的区别就是: 在一条边上的点不能相互连线段 在边中间上的点可以没线段 不妨考虑我们手动枚举了一些中间点完全不连边,剩下 \(m\) 个点要连边,如果我们直接