From aafe39e57842490aae27a534f273b474ee7dc2b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 15 Dec 2023 11:49:44 +0800 Subject: [PATCH] 'commit' --- TangDou/AcWing/RongChi/HDU2204_2.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/TangDou/AcWing/RongChi/HDU2204_2.cpp b/TangDou/AcWing/RongChi/HDU2204_2.cpp index 0c9b6fb..d698514 100644 --- a/TangDou/AcWing/RongChi/HDU2204_2.cpp +++ b/TangDou/AcWing/RongChi/HDU2204_2.cpp @@ -10,6 +10,15 @@ const int N = 110; 在上一个版本中,我们是按照奇加偶减的原则来进行的,同样这个计算的过程可以通过莫比乌斯中的mu函数来 **直接算出**, 每次相乘的系数是 mu[i]。 + +题意:要你输出1到n中,能够表示成a^b的数,a,b都是大于0的整数的个数,其中b大于1。 +思路: +n以内可以表示为x^2的数有 pow(n,1/2)个 +n以内可以表示为x^3的数有 pow(n,1/3)个 +这两种里面重复的是 x^6 ,( 在(x^2)^3 和 (x^3)^2 )里面各计算一次 +所以就需要减去 n以内可以表示为x^6的数,有pow(n,1/6)个 +这样进行下去他们的容斥系数就是莫比乌斯函数 + 执行时间:15MS */ // 筛法求莫比乌斯函数