Eddy's爱好 HDU - 2204(容斥原理 莫比乌斯函数)

该博客主要讲述了如何利用容斥原理和莫比乌斯函数来解决一个关于寻找特定形式的数字个数的问题。作者通过枚举K值,发现莫比乌斯函数的相反数与各K值对应的系数相关,从而构建了解决方案。文章提到了代码实现,并提到初次尝试时由于未考虑1的情况,结果总是比正确答案大1,但意外地发现减1后得到正确答案,作者对此感到疑惑并寻求帮助。
摘要由CSDN通过智能技术生成

题意:寻找1 ~ N中能表示成 M K M^K MK,其中M和K都是正整数并且K>1的这样的数的个数。

思路: N很大,枚举N是不可能了。但它既然表示成 M K M^K MK,我们就枚举K就好了。因为除了1,M最小也就取到2,而2的64次方就已经超过N的范围了。所以K最大就取到64。至于具体怎么枚举,我们可以让K从2循环到64,当K=2时,满足情况的M有1,2,… , N \sqrt{N} N ,一共就这 N \sqrt{N} N 个,因为再大的话乘方之后就大于N了。当K=3时,满足情况的M有1,2,……, N 3 \sqrt[3]{N} 3N ,一共有 N 3 \sqrt[3]{N} 3N 个。同理,K等于4,5,… ,64时,满足情况的M分别就有 N 4 , N 5 , … , N 64 \sqrt[4]{N},\sqrt[5]{N},… ,\sqrt[64]{N}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值