随笔分类 - 数学-容斥
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5212 题意:忽略。。 题解:把题目转化为求每个gcd的贡献。(http://www.cnblogs.com/z1141000271/p/7419717.html 和这题类似 反向容斥)这里先用容斥写了,mobio
阅读全文
摘要:题意:如果一个子序列的GCD为1,那么这个子序列的价值为0,否则子序列价值为子序列长度*子序列GCD 给出n个数,求这n个数所有子序列的价值和 题解:首先得想到去处理量比较少的数据的贡献,这里处理每个gcd的贡献。我们定义f(i)为gcd==i的倍数时的贡献,那么f(i)=c(0,n)*0+c(1,
阅读全文
摘要:题意:有m种字符,要求构造两段长度为n的字符串,其中这两段不能有相同的字符 枚举左边选了i种字符,右边可以选1,2....min(n,m-i)种字符 这样就把问题转化为用k种字符构造n长度的字符串的种类有多少种 容斥:单独考虑每一位上的字符都有k种选择,k^n,但会有不够k种的情况,所以要减去只有k
阅读全文
摘要:题意:求解区间a~b与n互质数的个数 题解:转化为1~b与n互质数减去1~a与n互质数的个数,典型的容斥。(由于这里数据范围太大,莫比乌斯就不适用了,直接用容斥枚举质数的组合,负责都根号n) 补充:2017.8.18 多校的容斥没写出来,整理一下。一般容斥的思路,求解逆问题。这道题目的逆问题就是不与
阅读全文
摘要:题意:给出n个数,问有多少组(a,b,c,d)公约数为1。 题解:有两种思路,一个是mobius反演,一种是容斥。 先介绍一下容斥的思路:我们考虑该问题的逆问题,求多少组数的gcd>=2,那么集合gcd为质数的交集就是我们要答案咯。枚举出每个素数乘积的因子数字,然后容斥筛一遍就可以了 (2017.9
阅读全文
摘要:和睦数三元组的个数问题 给出一个整数 。选出a, b, c (其中2<=a<b<c<=n),组成和睦三元组,即: · 或者满足 , , · 或者满足 首先,我们考虑它的逆问题:也就是不和睦三元组的个数。 然后,我们可以发现,在每个不和睦三元组的三个元素中,我们都能找到正好两个元素满足:它与一个元素互
阅读全文
摘要:我们直接求解不好处理,那么反向考虑,四个边至少有一条边没有解的情况 ac代码:
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6053 题意:给定一个数组,我们定义一个新的数组b满足bi<ai 求满足gcd(b1,b2....bn)>=2的数组b的个数 题解:利用容斥定理。我们先定义一个集合f(x)表示gcd(b1,b2...bn)为x倍数
阅读全文
摘要:题目:给你一个数n以及m个数字,问1~n中不能被这m个数字整除的数字的个数。 分析:容斥原理、组合数学。数字1-n中能被a、b整除的数字的个数分别是n/a,n/b; 则1-n中能被a或b整数的数字个数为n/a + n/b - n/lcm(a,b), (最后一项为同时被a、b整除的数字个数); 推广后
阅读全文
摘要:(转自 http://www.cppblog.com/vici/archive/2011/09/05/155103.html 找了一大堆博客 还是这个实在 中间加入了一点自己的理解)容斥原理 原作:e-maxx(Russia) 发表于 2011.8.25 翻译:vici 对容斥原理的描述 容斥原理是
阅读全文