容斥原理
文章平均质量分 80
ZigZagK
一个蒟蒻。
展开
-
【容斥原理】Codeforces547C[Mike and Foam]题解
题目概述给出一个序列 {An}\{A_n\} 和 mm 个操作,每个操作是一个整数 xx :如果 AxA_x 没有加入到容器中,则加入;如果 AxA_x 已经在容器中,则移除。求每次操作后容器中 gcd(Ai,Aj)=1(i<j)gcd(A_i,A_j)=1(i<j) 的个数。解题报告好像是不难的容斥题,但是我从来没有用过容斥原理QAQ,这里简单说明一下:有 nn 个集合,第 ii 个集合是 SiS原创 2017-08-22 21:14:24 · 764 阅读 · 0 评论 -
【背包+容斥】BZOJ1042(HAOI2008)[硬币购物]题解
题目概述有 44 种硬币。面值分别为 c1c_1 , c2c_2 , c3c_3 , c4c_4 。某人去商店买东西,去了 tottot 次。每次带 did_i 枚 cic_i 硬币,买 sis_i 的价值的东西。请问每次有多少种付款方法。解题报告直接背包会TLE,但由于只有 44 种硬币,所以……所以好难啊!根据容斥,答案为:价值恰好为 ss 但硬币数不受限制的原创 2017-10-31 10:05:46 · 280 阅读 · 0 评论 -
【树的个数+容斥】2017.10.23杂题(liu_runda NOIP 联考 DAY1)[任]题解
题目概述呵呵,题目概述写到一半电脑重启了,没心情写了。liu_rundaNOIP 联考 DAY1 T2。解题报告没有多条简单路径就是树喽……那么这道题就是让你求一个子矩阵中树的个数。然后有个很显然的结论:森林中树的个数 == 节点数 −- 边数。于是容斥就行了。示例程序#include<cstdio> using namespace std; const int maxn=2000,maxm=200原创 2017-10-23 13:30:18 · 515 阅读 · 0 评论 -
【高维前缀和+容斥】Codeforces449D[Jzzhu and Numbers]题解
题目概述 有 nn 个数 aia_i ,求选出若干个数(不可不选) andand 起来为 00 的方案数。 解题报告 把每个数在二进制下的 0101 序列看作集合,那么题目转化为选出一些集合交集为空的方案数。 然后……完全不会做啊……然后考虑容斥,令 f(i)f(i) 表示包含集合 ii 的数的个数, S(i)S(i) 表示集合 ii 的元素个数,考虑容斥,那么答案就是 ∑220−1i原创 2017-10-24 21:12:47 · 328 阅读 · 0 评论 -
【普通型母函数+容斥+FFT】BZOJ3771[Triple]题解
题目概述ZigZagK有 nn 把价值不一样的斧子,CHNJZ偷走了 11 把或 22 把或 33 把,对于每个可能的总损失,计算有几种可能的方案。解题报告emm……显然是母函数啊?但是有数量限制。由于最多偷走三把,所以我们可以直接三种情况都讨论过去。11 把:母函数:A(x)=xa1+xa2+xa3+⋯+xanA(x)=x^{a_1}+x^{a_2}+x^{a_3}+\cdots+x^{a_n}原创 2018-01-09 18:48:38 · 443 阅读 · 0 评论