![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学补充
d12155214552
这个作者很懒,什么都没留下…
展开
-
莫比乌斯函数-BZOJ2440
其实这是我在某个莫比乌斯反演的PPT里看到的,但是这个题不是反演只是个莫比乌斯函数的应用。 具体做法是二分答案。 只需要一个小小的check函数来判断当前二分到的答案是否比k大或小即可。 手动模拟了一下发现某个规律 对于一个数t,t以内的数里的非完全平方数倍数的个数 num=1的倍数的数量−一个质数平方数(9,25,49…)的倍数的数量+两个质数的积平方数(36,100,225…原创 2017-08-21 13:48:16 · 282 阅读 · 0 评论 -
容斥+莫比乌斯反演+分块优化-BZOJ2301
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 Input 第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、k Output 共n行,每行一个整数表示满足要求的数对(x,y)的个数 Sample Input 22 5 1 5 11 5 1 5 2 Sample Out原创 2017-08-21 21:18:50 · 219 阅读 · 0 评论 -
莫比乌斯反演-HDU1695
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/OHDU1695的题目大意是这样的,给你 a , b , c , d , k 五个值 (题目说明了 你可以认为 a=c=1) x 属于 [1,b] ,y属于[1,d] 让你求有多少对这样的 (x,y)满足gcd(x,y)==k。给你的时间是 3000 MS。 0 < a <= b转载 2017-08-21 19:54:00 · 250 阅读 · 0 评论 -
生成函数-HDU1398
https://vjudge.net/contest/181055#problem/A给你一个数 让你求出1~17中每个数的平方任意组合 有几种情况满足条件。有多少种满足方案输出a[n] 最小的取不到的面值输出i,此时a[i]为0且i最小#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #inclu原创 2017-08-23 12:34:10 · 159 阅读 · 0 评论 -
生成函数(背包)-HDU1171
https://vjudge.net/contest/181055#problem/C生成函数的解法要注意最后的判断,生成函数的用时更长。 背包是标准解法。#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <vector> #include原创 2017-08-23 14:28:26 · 500 阅读 · 0 评论 -
生成函数
原文:http://blog.csdn.net/xiaofei_it/article/details/17042651母函数,又称生成函数,是ACM竞赛中经常使用的一种解题算法,常用来解决组合方面的题目。本文讲解母函数,但不讲解该算法的基础理论。读者随便找一本组合数学教材便可找到相应的内容,或者直接在网上搜索一下。母函数通常解决类似如下的问题:给5张1元,4张2元,3张5元,要得到15元,有多少种组转载 2017-08-23 13:11:58 · 164 阅读 · 0 评论 -
莫比乌斯反演-HDU5212
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5212题意:给定序列,1≤i,j≤n,求gcd(a[i],a[j])∗(gcd(a[i],a[j])−1)之和。分析:同样我们设 f(d):满足gcd(x,y)=d且x,y均在给定范围内的(x,y)的对数。 F(d):满足d|gcd(x,y)且x,y均在给定范围内的(x,y)的对数。 反演后我原创 2017-09-07 22:34:34 · 182 阅读 · 0 评论 -
莫比乌斯反演-ACdream-1117
题目链接:http://acdream.info/problem?pid=1114题意:给定一个序列,求序列中互质的数的对数。分析:我们设f(d) 表示gcd恰好为d的数的个数,F(d)表示gcd为d的倍数的个数 因此,F(d) = sigma (f(n)) (n%d==0) f(n)= sigma( mu[d]*F[n/d] ) (n%d==0); 因此我们先统计出原创 2017-09-08 14:50:38 · 221 阅读 · 0 评论 -
莫比乌斯函数-HYSBZ2440
https://vjudge.net/contest/183383#problem/E小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些 数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而 这丝毫不影响他对其他数的热爱。 这天是小X的生日,小 W 想送一个数给他作为生日礼物。当然他不能送一 个小X讨厌的数。他列出了所有小X不讨厌的数,然后选取了第 K个原创 2017-09-08 16:30:08 · 241 阅读 · 0 评论