容斥原理
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
「USACO 2020 US Open Platinum」Exercise (容斥)(DP)
传送门考虑枚举划分 SSS:∏Slcm(a1,a2,…,ak)coef(S)\prod_Slcm(a_1,a_2,\dots,a_k)^{coef(S)}S∏lcm(a1,a2,…,ak)coef(S)这个可以反演成 gcdgcdgcd∏S∏Tgcd(a1,a2,…,a∣T∣)coef(S)(−1)∣T∣−1\prod_S \prod_Tgcd(a_1,a_2,\dots,a_{...原创 2020-04-21 23:52:44 · 377 阅读 · 0 评论 -
「WC2019」数树(生成函数)(树形DP)(容斥)(多项式exp)
LOJLOJLOJ 传送门转换一下题意得到:对于两棵树 T1,T2T1,T2T1,T2,边集是 E1,E2E1,E2E1,E2,那么贡献就是 yn−∣E1∩E2∣y^{n-|E1\cap E2|}yn−∣E1∩E2∣第一问:直接求出并即可第二问:T1T1T1 确定,不妨来枚举 T2T2T2令 F(S)=∑T2[T1∩T2=S]F(S)=\sum_{T2} [T1\cap T2=...原创 2020-03-08 16:51:28 · 311 阅读 · 1 评论 -
【省选模拟】这道题(数位DP)(容斥)(组合数学)
神仙题枚举每一个的下界容斥,对 2n2^n2n 种情况算方案数,令最后的数位 VVV,当前的下界加起来+1 为 SSS,那么贡献就是 (V−Sn−1)\binom{V-S}{n-1}(n−1V−S),所以 ways=∑V≥S(V−Sn−1)[v合法]=∑V≥0(Vn−1)[V+S合法]ways=\sum_{V\ge S}\binom{V-S}{n-1}[v合法]=\sum_{V\ge 0...原创 2020-02-18 00:18:07 · 324 阅读 · 0 评论 -
「2017 山东一轮集训 Day7」逆序对(生成函数)(容斥)(DP)
传送门题意:长度为 nnn,有 kkk 个逆序对的排列个数?n,k≤1e5n,k\le 1e5n,k≤1e5考虑新填一个数 iii 进去,可能产生的贡献为 [0,i−1][0,i-1][0,i−1],于是问题等价于:∑i=1nai=k,ai∈[0,i−1]\sum_{i=1}^na_i=k,a_i\in[0,i-1]∑i=1nai=k,ai∈[0,i−1] 的方案数其实可以大力生成...原创 2020-01-29 22:45:16 · 455 阅读 · 0 评论 -
集训队作业2018: 青春猪头少年不会梦到兔女郎学姐(多限制容斥)(生成函数)(组合数学)
题意给定 nnn 种颜色的球,第 iii 种颜色的球数量为 aia_iai 个,一种排列的贡献可以如下计算:先把这个序列首尾相连,然后把所有相邻且颜色相同的段拿出来,贡献为他们的长度之积,求所有排列的贡献和,原排列不同,首尾相连后相同的排列不算同一种。模 998244353998244353998244353。先考虑一个序列怎么做我们对每一个 iii 枚举将 aia_iai 分成 bi...原创 2020-01-19 14:27:18 · 444 阅读 · 0 评论 -
HNOI2011 卡农(组合数学)(DP)(容斥)
传送门我们先不考虑重排,最后除一个 m!m!m! 就可以了题意:值域在 [1,n][1,n][1,n] 间,选择 mmm 个不同的集合,使得每一个元素的出现次数为偶数n,m≤1e6n,m\le 1e6n,m≤1e6假设要选择 kkk 个集合,如果我们定下来 k−1k-1k−1 个,那么为了满足每一个元素都是偶数的限制,最后一个集合是确定的大力 dpdpdp,令 fif_ifi 表示选择...原创 2019-12-18 17:46:26 · 200 阅读 · 0 评论 -
无题 (容斥)(分治乘法)
今天有点无聊,随便乱写一些东西luoguluoguluogu 上有这么一个板子,名叫 快速沃尔什变换前两个操作要求实现h(x)=∑i∣j=xf(i)g(j),h(x)=∑i&j=xf(i)g(j)h(x)=\sum_{i|j=x}f(i)g(j),h(x)=\sum_{i\&j=x}f(i)g(j)h(x)=i∣j=x∑f(i)g(j),h(x)=i&j=x∑f(...原创 2019-12-17 14:04:59 · 182 阅读 · 0 评论 -
「JSOI2019」神经网络 (容斥)(组合数学)(生成函数)(树形DP)
传送门题意:给 mmm 棵树,树之间是完全图,问哈密顿回路的数量我们考虑到最后的哈密顿回路一定是有一段一段的树链串起来得到的相当于每一棵树拆分成若干条树链,大小不限个数不限,所有的拼接起来,要求相邻的不来自同一颗树我们可以树形 dpdpdp 求出一棵树分成 jjj 条链的方案数,这里带方向接着,我们先不考虑环,只考虑序列,问题转换为有 mmm 种颜色的球,每种求有若干个,求最后拼接起来...原创 2019-12-12 00:09:47 · 309 阅读 · 0 评论 -
SHOI2014 概率充电器(树形DP)(概率DP)(容斥)
传送门好题啊!很明显要从子树算一遍,然后从父亲算一遍令 f(u)f(u)f(u) 表示直接充上电或从子树充上电的概率概率合并需要容斥一下 P(A∣B)=P(A)+P(B)−P(A)∗P(B)P(A|B)=P(A)+P(B)-P(A)*P(B)P(A∣B)=P(A)+P(B)−P(A)∗P(B)然后将 f(u)f(u)f(u) 扩展到可以从父亲走过来显然如果是从父亲走过来不能是自己走上去在...原创 2019-12-11 18:45:58 · 176 阅读 · 0 评论 -
【FJWC2019】子图(容斥)(计数)(三元环 / 四元环计数)
题意:n≤1e5n\le 1e5n≤1e5 个点, m≤2e5m\le 2e5m≤2e5 条边,求包含 k≤4k\le 4k≤4 条边的联通块个数这里有图k=1k=1k=1,显然为 mmmk=2k=2k=2,枚举中间点组合数算即可k=3k=3k=3,有三种情况,一种是三元环,一种是链,一种是菊花图链:枚举中间边,算两边的贡献,但两边的出点重合会退化为三元环每个三元环会算三次,菊花图...原创 2019-12-11 18:38:54 · 553 阅读 · 0 评论 -
【51nod1355】斐波那契的最小公倍数(min - max容斥)(容斥)(反演)
题意:给 mmm 个数 aia_iai,求 lcm(fib(ai))lcm(fib(a_i))lcm(fib(ai)),m≤4e5,ai≤1e6m\le 4e5, a_i\le 1e6m≤4e5,ai≤1e6,对 1e9+71e9+71e9+7 取模首先我们知道斐波那契数列的一些性质gcd(fibi,fibi−1)=1gcd(fib_i,fib_{i-1})=1gcd(fibi,...原创 2019-12-11 18:24:15 · 187 阅读 · 0 评论 -
NOI.AC CSP-S 模拟 Round 2 T1 Count (组合数学) (容斥)
传送门题意:给定两个整数 n,mn, mn,m 求 k 元组 (a1,a2,…,ak)(a1,a2,…,ak)(a1,a2,…,ak) 的个数,满足 a1,a2,…,aka1,a2,…,aka1,a2,…,ak 为正整数∑ai=n\sum a_i=n∑ai=n 且 a1,a2,…,aka1,a2,…,aka1,a2,…,ak 均不是 mmm的倍数n≤1e18,m≤5e3,k≤2e3n\l...原创 2019-10-20 16:24:47 · 258 阅读 · 0 评论 -
min-max 容斥学习笔记
关于 min−maxmin-maxmin−max容斥,我们希望构造一个系数使得max(s)=∑T⊆Sf∣T∣min(T)max(s)=\sum_{T\subseteq S}f_{|T|}min(T)max(s)=∑T⊆Sf∣T∣min(T)考虑 k+1k+1k+1 大的贡献max(s)=∑i=0k(ki)fi+1=[k=0]max(s)=\sum_{i=0}^k\binom{k}{i}f...原创 2019-10-04 22:19:41 · 233 阅读 · 0 评论 -
「雅礼集训 2018 Day11」进攻![容斥+单调栈]
传送门考虑枚举最后的相交的矩阵,统计最后相交出来为枚举的那个矩阵的答案就可以不重不漏考虑到那个矩阵内 1 * 1 的个数 - 1 * 2 的个数 - 2 * 1 的个数 + 2 * 2的个数是等于 1 的也就是说我们可以对 1 * 1 的统计一遍答案,对 1 * 2 的统计一遍 … 就可以容斥了统计答案需要知道包涵一个点的矩阵个数,可以差分暴力做法就是枚举每个合法矩阵,然后差分但发现...原创 2019-09-24 22:28:56 · 530 阅读 · 0 评论 -
SCOI2019 RGB [容斥]
传送门考虑只有一个绿点的情况,就是一个裸的树形 dp,强制选当前点fu,r=∏(fv,r+1),fu,b=∏(fv,b+1)f_{u,r} =\prod (f_{v,r}+1),f_{u,b} =\prod (f_{v,b}+1)fu,r=∏(fv,r+1),fu,b=∏(fv,b+1)ans=fu,r∗fu,bans=f_{u,r}*f_{u,b}ans=fu,r∗fu,b我...原创 2019-09-24 22:11:44 · 370 阅读 · 0 评论 -
[BZOJ4305] 数列的GCD [容斥/莫比乌斯反演+组合数学]
传送门考虑答案为 gcd 的倍数的情况就要好做很多设 cnt 为 d 的倍数的个数考虑容斥,发现#include<bits/stdc++.h>#define N 300050using namespace std;typedef long long ll;const int Mod = 1000000007;ll add(ll a, ll b){ ...原创 2019-08-09 21:24:18 · 190 阅读 · 0 评论 -
CF451E Devu and Flowers [组合数学 + 容斥原理]
传送门首先, 将原问题简化, 假设每种花都有无数多, 从 n 个种类中选出 S 个的方案数相当于一个长为S的序列, 将其分为n段, 所以答案为考虑用总的减去不合法的, 因为 n 很小, 所以我们可以枚举不合法的集合如果 i 不合法, 那么它至少选了 f[i] + 1 个, 剩下的可以随意乱选, 贡献就是所以对于当前枚举的集合 k , 贡献即为但是这保证了集合之外的就...原创 2019-07-09 23:20:21 · 202 阅读 · 0 评论