メビウス反転
回答要求する$の\ sum_ {i = 1} ^ {n}は{\シグマ(I ^ {2})} $
それを変換します
设$ F(I)= \ sum_ {D | I} {\ MU(D)^ {2}} $
答えは同じです
$ \ sum_ {i = 1} ^ {N} \ sum_ {D | I} {F(D)} $
なぜ、そう考える、私たちが見つけ、各$ I ^ {2} $の除数は、列挙型が$私は^ {2} $ iが$除数$ d個の$、$ dです$ ^ {数の約$ 2}
$ I $の素数$ pが$除数を提供仮定$ I ^ {2} $定性分解後、インデックスは、$ iはの^ $ pが$回の2 $を除数次に、$ A $です$ [0,2a] $かもしれ
その後、我々は、$ Dに^が、{2}により、$ $ $ 2Bの数であり、$ I素数、範囲$ Dが$する$ B $の回数は$除数$ dが$、$ P $列挙します列挙$ d個の$我々は、すべての$ 2B \当量2aは$を列挙することができます
しかし、ではない奇数インデックスの列挙に、列挙時間の$ D $の$ Dが$除数、$ Fを求めて(D)$と、同等のは、すべての$ 2B $ $ -1 $を列挙するならば、そうこれは、すべての奇数と偶数のケースをカバーしています。
簡素化を続行
$ ANS = \ sum_ {i = 1} ^ {N} \ sum_ {D | I} \ sum_ {D | D} {\ MU(D)^ {2}} $
最も外側に言及したの$ D $の
$ ANS = \ sum_ {D = 1} ^ {n}は{\ MU(D)^ {2} S([\ FRAC {n}は{D}])} $
$ S(N)= \ sum_ {i = 1} ^ {n}が{[\ FRAC {n}は{I}]} $
$することができますO(\ sqrtの{n}は)アウト時に$
検討する前に
$ \ sum_ {i = 1} ^ {n}は{\ MU(I)^ {2} = \ sum_ {i = 1} ^ {\のSQRT {N}} {\ MU(I)[\ FRAC {N } {I ^ {2}}]} $
かもしれ$ O(\のSQRT {N})$を見つけます
全体的な複雑さの$ O(N ^ {\ FRAC {2} {3}})$
#include <ビット/ STDC ++ H> 使用して 名前空間STDを、 typedefの長い 長いLL。 const int型 MAXN = 1E6 + 5 。 int型のn; int型のミュー[MAXN]、pは[MAXN]、[MAXN]マーク。 LLのF(int型N){ LL RET = 0 。 以下のために(int型 i = 1 ; iが* I <= N; ++ I)RET + = 1LL * MU [I] *(N /(1LL * iは* I))。 リターンRET; } 無効{INITを() MU [ 1 ] = 1 。 以下のために(int型 I = 2、I <MAXN; ++ I){ 場合(!マーク[I]){ P [ ++のp [ 0 ] = I。 ミュー[I] = - 1 。 } 用(INTの J = 1 ; J <= P [ 0 ] && iは* P [j]が<MAXN; ++ j)は{ マーク[私は * Pの[jを]] = 1 ; もし(I%P [J] == 0)ブレーク。 ミュー[私は = j]と[pは*] - ムー[i]は、 } } } LL gを(int型N){ LL RET = 0 。 以下のために(int型 i = 1、jは、iがn = <; iは= J + 1 ){ J = N /(N / I)。 題する + = 1LL *(J - I + 1)*(N / I)。 } 戻る権利を。 } INT {main()の その中に(); int型 T; scanf関数(" %のD "、&T)。 一方、(T-- ){ scanf関数(" %のD "、&N) LL ANS = 0になりました=、0、前= 0 ; 以下のために(int型 i = 1、jは、iがn = <; iは= J + 1 ){ J = N /(N / I)。 今 = F(j)は、 ANS + = 1LLの*のG(N / I)*(今- PRE)。 前 = 今; } printf(" %LLDする\ n " 、ANS)。 } リターン 0 ; }