数学专题

一、欧拉函数
1047: 最小生成树 (mst)
时间限制: 1 Sec 内存限制: 256 MB O2
提交: 309 解决: 105
[提交][状态][博客][加入收藏]
题目描述
原文书接上一回,话说那moreD魔法使在成就魔法使之前是一个神犇,魔法书是moreD神犇通过自己的不懈努力制作的。

魔法书在moreD神犇开天地之前还是白纸一张,白纸上是一个黑色的完全图,每个点都有一个独一无二的[1,n]内的编号,moreD的任务是要找到最小生成树,以此作为魔法树。

对于完全图的边(I,j)(i≠j)的边权恰好就等于I,j两个数字的最大公约数。

特别地,要作为魔法树,必须满足树指定某个点为根后,所有除根外的节点的父亲的标号必须小于自身标号。

moreD神犇早就找出魔法树的最小边权和了。你能算到最小边权魔法树有多少个吗?
n<=2e7

因为将1与其他所有点相连就可得到权值为n-1的最小生成树,故在一个合法方案中,所有边连接的两点均互质。考虑每个孩子都要大于其父亲的限制,即对于每一个点,它都要向比它小的数且与它互质的数连边,那么答案即为所有数的欧拉函数之积。
因为n较大,故要用线性筛求欧拉函数。考虑对于一个i,若搜到的数p[j]不是它的约数,又因为p[j]为质数,必与n互质,直接用积性函数的性质即可;否则,phi[i*p[j]]=phi[i]*p[j].

二、莫比乌斯函数
1187: 完全平方数 squares
时间限制: 1 Sec 内存限制: 128 MB O2
提交: 208 解决: 107
[提交][状态][博客][加入收藏]
题目描述
小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些 数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而 这丝毫不影响他对其他数的热爱。

这天是小 X 的生日,小 W 想送一个数给他作为生日礼物。当然他不能送一 个小 X 讨厌的数。他列出了所有小 X 不讨厌的数,然后选取了第 K 个数送给了 小 X。小 X 很开心地收下了。

然而现在小 W 却记不起送给小 X 的是哪个数了。你能帮他一下吗?

n<=1e9

对于这么大的n,问题又是求第k小的数,且满足单调性,故考虑二分答案,判定在它之内有多少个完全平方数的倍数。考虑在sqrt(n)范围内枚举底数,加上其平方的倍数的个数,但这样会重复,故考虑容斥。发现对于一个数,若它有完全平方因子,则它没用;否则,若它为奇数个不同质数的乘积,则每个倍数都贡献1,若为偶数个的乘积,则每个贡献-1,这样使得每一个数的所有质因子在容斥后贡献一次。

三、莫比乌斯反演
1219: Problem b
时间限制: 1 Sec 内存限制: 128 MB O2
提交: 142 解决: 61
[提交][状态][博客][加入收藏]
题目描述
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。
100%的数据满足:1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000

根据题意列出式子为sigma(a<=i<=b)(c<=j<=d)(gcd(i,j)k),由于直接求不好化简,故由莫比乌斯反演式子sigma(d|n)mu(d)=(n1)考虑将式子除以k,得sigma(a/k<=i<=b/k)(c/k<=j<=d/j)(sigma(d|gcd(i,j))mu(d))=sigma(d)(a/kd)(b/kd)mu(d),发现a/kd的取值只有sqrt(n)种,即(a/kd)(b/kd)的取值只有2sqrt(n)种,故分块做,维护mu的前缀,对(a/kd)(b/kd)相同的一起统计即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值