容斥原理&&莫比乌斯反演
Lngxling
这个作者很懒,什么都没留下…
展开
-
HDU - 2204 Eddy's爱好
Eddy's爱好Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2927 Accepted Submission(s): 1434 Problem DescriptionIgnatius 喜欢收集蝴蝶标本和邮票,但是Ed...原创 2018-07-27 20:03:37 · 169 阅读 · 0 评论 -
HDU - 4407 Sum —— 容斥 求互斥数的和
题意:数组开始为1~n两个操作,一是查询下标x~y之间与p互素的数的和,二是将pos位置的数改为value思路:容斥可以很容易地求1~n之间与p互素的数的个数,本质是运用了对p的每个因子,1~n中有多少个这个因子的倍数那么我们要求互素的数的和,其实也是求p的每个因子在1~n中的倍数的容斥,只是原本求个数时是n/sum直接求出个数,现在求和是求sum..sum*2..sum*3....原创 2018-09-25 20:09:17 · 300 阅读 · 0 评论 -
HDU - 1695 GCD —— 莫比乌斯反演
GCDTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15143 Accepted Submission(s): 5793 Problem DescriptionGiven 5 integers: a, b, c, d,...原创 2018-08-07 21:22:30 · 444 阅读 · 0 评论 -
HDU - 4790 Just Random —— 容斥
题意:在ab之间随机选择一个数x,cd之间随机选择一个数y,问(x+y)%p==m的概率是多少思路:我们考虑每个数模p的结果,只有0~p-1共p个数,且连续的p个数模p得到的结果的集合一定正好是0~p-1(顺序可能不一样)这样我们就把ab和cd先以p长度分块,设ab和cd被分成的整块数分别是k1,k2,每一对整块都会有p个搭配使结果模p为m,所以只考虑整块的话共有k1*k2...原创 2018-09-07 10:28:52 · 169 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛 G. Spare Tire
题意:给了a数组的递推式,问所有满足1<=i<=n且i与m互素的ai之和思路:由a的递推式可以很容易地得到ai=i*(i+1)求所有满足条件的数不好求,我们可以用所有的减去不满足条件的,即与m不互素的数贡献的a值根据算数基本定理将m分解,与m不互素的就是至少有其中一个因子,算所有的所以要容斥对于每个因子积sum,会形成sum,2*sum,3*sum...[n/s...原创 2018-09-08 17:00:01 · 883 阅读 · 2 评论 -
HDU - 2841 Visible Trees —— 莫比乌斯反演
题意:m*n的方格中每个格点都种了一棵树,问站在0,0点能看到多少棵树思路:求1~n,1~m之间gcd(x,y)=1的对数反演的模板题#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <queue&g...原创 2018-08-30 13:57:57 · 259 阅读 · 0 评论 -
ZOJ - 2836 Number Puzzle —— 容斥原理
题意:问1到m之间有多少个数能被序列的任意一个数整除思路:容斥,序列最多只有10个,用二进制优化一下,跑一遍容斥#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <queue>#include &...原创 2018-08-30 13:53:01 · 218 阅读 · 0 评论 -
HYSBZ - 2818 Gcd —— 莫比乌斯反演
2818: GcdTime Limit: 10 Sec Memory Limit: 256 MBSubmit: 8172 Solved: 3609Description给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input一个整数NOutput如题Sample Input4 Sample O...原创 2018-08-07 21:40:16 · 414 阅读 · 0 评论 -
HDU - 1796 How many integers can you find
How many integers can you findTime Limit: 12000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10302 Accepted Submission(s): 3078 Problem Description ...原创 2018-07-27 20:09:53 · 156 阅读 · 0 评论 -
HDU - 5514 Frogs —— 容斥
题意:有n只青蛙m块石头,每只青蛙跳的长度是固定的,问所有被跳过的石头的下标和思路:转化为求0~m-1之间,gcd(ai,m)的倍数的和求一个数的倍数和是可以直接用等差数列计算出的,但是会有数被重复计算,我们要做的就是用容斥计算重复的数首先,gcd(ai,m)一定是m的因子,所以需要容斥的数只有可能是m的因子,1e9的数的因子最多有1600+,所以可以通过预处理出m的因子来容斥...原创 2018-10-19 11:37:37 · 238 阅读 · 0 评论