容斥
Master.Yi
学习他人,提升自己;
提升自己,帮助他人。
展开
-
20200802 T3 我永远喜欢【生成函数容斥,拉格朗日反演】
题目描述有 nnn 种颜色的石子,每种 cic_ici 个,记一个石子序列首尾相接后极长连续段的长度为 lil_ili,求所有石子序列的 1∏li!\frac 1{\prod l_i!}∏li!1 的和。n≤105,∑ci≤2∗105n\le10^5,\sum c_i\le2*10^5n≤105,∑ci≤2∗105题目分析先考虑去掉首尾相接的情况怎么做。因为限制了极长,容易想到把每种颜色分成几段,然后合并,但是不好保证相同颜色不被并在一起。先不谈容斥做法,题解给出了一种用生成函数解决的原创 2020-08-09 20:49:41 · 314 阅读 · 0 评论 -
20200721 T1 s1mple【容斥,划分】
题目描述n≤17,q≤105n\le17,q\le10^5n≤17,q≤105题目分析先不考虑0的限制,相当于强制一些链连通,其它任意,这样很多排列状态就变成了本质相同的划分方案。Code:#include<bits/stdc++.h>#define maxn 17#define LL long longusing namespace std;int n,N,Q,lg[1<<maxn],bit[1<<maxn];LL f[1<<max原创 2020-07-21 20:10:20 · 218 阅读 · 0 评论 -
超平面切割超立方体的体积 (容斥原理) Hyperrectangle
用容斥原理计算被Hyperplane切割后的Hyperrectangle体积里面的公式要开vpn才能看…就是容斥有多少个超过了限制,然后把和去掉那么多。例题:AT1046 Hyperrectangle单纯形 ∑aixi≤s\sum a_ix_i\le s∑aixi≤s 的体积可以归纳积分,f2(s)=12s2a1a2f_2(s)=\frac 12\frac {s^2}{a_1a_2}f2(s)=21a1a2s2,fn(s)=∫0sanfn−1(anx) dx=snn!∏1ai原创 2020-07-09 14:19:44 · 852 阅读 · 0 评论 -
20200705模拟赛 Permutation, LCM game, Easy Data Structure
T1题目描述:题目分析:签到神仙题。每条边的权值相当于是规定了子树内的点要被划分成 边权/2 段。然后要把儿子的段以及自己合并成当前需要的段数,要保证在同一个儿子子树内的不能相邻。于是容斥,钦定儿子子树的段至少有 iii 段相邻,带上 (−1)i(-1)^i(−1)i 的系数。然后合并转移,复杂度 O(n2)O(n^2)O(n2)。合并完之后再划分为当前需要的段数。根节点确定在第一位,特殊处理,最后答案因为是环所以乘上 nnnT2T3...原创 2020-07-06 08:25:18 · 239 阅读 · 0 评论 -
20200612 hz【矩形容斥,链表+回滚莫队,保序回归L1】
T1:「雅礼集训 2018 Day11」进攻!题目描述:n,m≤2000,k≤106n,m\le2000,k\le10^6n,m≤2000,k≤106LOJ link题目分析:求选K个全1矩形使其有交的方案数。考虑容斥,计算每个1×11\times 11×1的矩形被多少个矩形包含,设为sss,那么答案加上sks^ksk然后看多算了什么,假设某个方案中矩形的交的大小是一个x∗yx*yx∗y的矩形,那么它被算了x∗yx*yx∗y次。减去1×21\times 21×2的矩形,2×12\times原创 2020-06-12 21:34:12 · 618 阅读 · 0 评论 -
Codeforces1043F Make It One【gcd为1的最小子集】
题目描述:给出长度为nnn的序列aia_iai,选出最少的数(非空)使得它们的gcdgcdgcd为111n,ai≤3∗105n,a_i\le3*10^5n,ai≤3∗105,无解输出−1-1−1题目分析:3∗1053*10^53∗105以内质因子最多的数只有6个,而如果有解,考虑其中质因子最少的数xxx,其余每个数一定囊括了一个不在xxx中的质因子,且各自囊括的那个质因子不同,(相当于不断去掉gcd的因子)。也就是说答案最多是xxx的质因子个数+1,也就是777。这张例子截自洛谷的题解:那原创 2020-05-29 18:20:36 · 377 阅读 · 0 评论 -
20200520!hz【异或和为0的最大集合,powerful number求积性函数,相等边集容斥+限制异或和】
T1:石子游戏给出nnn个数aia_iai,求删去最少的数,使得剩下的数的异或和为0。记A=max(ai)A=max(a_i)A=max(ai),n,A≤500000n,A\le500000n,A≤500000题目分析:求异或和为0的最大集合不好直接求,转化为补集问题:求异或和为⊕ai\oplus a_i⊕ai的最小集合。设f[i][x]f[i][x]f[i][x]表示选iii个数,能否取得异或和为xxx,根据异或(线性基)的性质,可以发现最多只需要选logA\log AlogA个数就可以原创 2020-05-20 21:10:51 · 1443 阅读 · 0 评论 -
模拟赛20200220【概率DP(概率流失),容斥,贪心+斜率优化】
T1:飞行棋题解:首先是一个比较好想的DP:因为游戏只要第一个人获胜就结束了,所以可以大胆猜测游戏在一定轮数后还在继续的概率会小到可以忽略。Code:#include<bits/stdc++.h>using namespace std;const int N = 160, M = 23;int n,m,a[N],p[M];const double P = 1...原创 2020-02-25 11:49:06 · 202 阅读 · 0 评论 -
模拟赛20200212【幂和->二项式定理/斯特林数,容斥,曼哈顿最大生成树(Boruvka算法)】
T1:题解:记s[i]s[i]s[i]为前缀和,则Ansi=∑j=0i−1(s[i]−s[j])k=∑j=0i−1∑x=0k(kx)s[i]x∗(−1)k−x∗s[j]k−x=∑x=0k(kx)s[i]x(−1)k−x∑j=0i−1s[j]k−xAns_i=\sum_{j=0}^{i-1}(s[i]-s[j])^k=\sum_{j=0}^{i-1}\sum_{x=0}^k\binom {...原创 2020-02-12 22:55:14 · 207 阅读 · 0 评论 -
模拟赛20200211「LibreOJ NOI Round #2 Day 1」
T1:题目链接大意:支持尾部插入一个正整数aia_iai,询问求f(al,al+1,...,ar)f(a_l,a_{l+1},...,a_r)f(al,al+1,...,ar),其中f(x)=x,f(a0,a1...,an)=a0+1f(a1,a2,...,an)(n≥1)f(x)=x,f(a_0,a_1...,a_n)=a_0+\frac 1{f(a_1,a_2,...,a_n)}(...原创 2020-02-11 23:18:14 · 332 阅读 · 0 评论 -
【COCI2012#6】盒子与玩具【容斥+高维前缀和】
题目描述:Mirko找到了N个盒子,盒子里面放了一些玩具。一共有M种不同的玩具,每种玩具可能有多个。同一种玩具可以出现在不同的盒子里。现在Mirko想选择一些盒子,使得每种玩具都至少有被选择。问Mirko有多少种选择的方法。输入:第一行有2个整数N,M(1<=N<=1000000,1<=M<=20)接下来N行,每行有若干个数。第一个数为Ki(0<=ki<=...原创 2019-11-11 21:17:33 · 309 阅读 · 0 评论 -
Ender的模拟赛D2T1 wait【min-max反演】
题目描述有一n*m的棋盘,每次随机染黑一个位置(可能染到已经黑了的),当某一行或者一列全为黑色时停止,求期望染色次数(mod 998244353)对于100%的数据n,m<=1000题目分析考完听说是模板题显然这个“当xxx时停止”非常不好处理,我们不知道它到底有没有停止,方案也很难统计。不考虑停止,一直染,用a1,a2…ana_1,a_2\dots a_na1,a2…an...原创 2019-07-26 22:11:11 · 176 阅读 · 0 评论 -
BZOJ 2024: [SHOI2009] 舞会 【容斥+高精度】
题目描述:DescriptionOItown要举办了一年一度的超级舞会了,作为主办方的Constantine为了使今年的舞会规模空前,他邀请了许多他的好友和同学去。舞会那天,恰好来了n个男生n个女生。Constantine发现,一般情况下,舞伴之间,总是男伴总是比女伴长得高(或者相等),不过,偶尔也是有特殊情况的。所以,Constantine现在想知道,如果把这2n个人恰好配成n对舞伴,有多少...原创 2019-03-07 12:34:46 · 233 阅读 · 0 评论