问
:
求
∑
i
=
1
N
⌊
N
i
⌋
,
N
≤
1
0
12
问:求\sum^{N}_{i=1}⌊\frac{N}{i}⌋,N\leq10^{12}
问:求∑i=1N⌊iN⌋,N≤1012
思
考
性
质
:
思考性质:
思考性质:
(
1
)
.
⌊
N
i
⌋
最
多
只
有
2
N
种
取
值
(1).⌊\frac{N}{i}⌋最多只有2N种取值
(1).⌊iN⌋最多只有2N种取值
(
2
)
.
设
⌊
N
i
⌋
=
⌊
N
i
′
⌋
,
则
i
′
的
最
大
值
为
⌊
N
⌊
N
i
⌋
⌋
(2).设⌊\frac{N}{i}⌋=⌊\frac{N}{i′}⌋,则i′的最大值为⌊\frac{N}{⌊\frac{N}{i}⌋}⌋
(2).设⌊iN⌋=⌊i′N⌋,则i′的最大值为⌊⌊iN⌋N⌋
整
除
分
块
:
整除分块:
整除分块:
设两个指针 L 和 R , L 的初始值为
1
1
1 ,每次令 R
=
=
=
⌊
N
⌊
N
L
⌋
⌋
⌊\frac{N}{⌊\frac{N}{L}⌋}⌋
⌊⌊LN⌋N⌋,将
(
(
(R
−
−
−L
+
+
+1
)
)
)⋅
⌊
N
L
⌋
⌊\frac{N}{L}⌋
⌊LN⌋ 累加至答案中 ,再令 L
=
=
=R
+
1
+1
+1
由于 ⌊ N L ⌋ ⌊\frac{N}{L}⌋ ⌊LN⌋ 只有 2 N 2\sqrt{N} 2N 种取值 ,且单调递减,则最多只有 2 N 2\sqrt{N} 2N 个取值不同的段,时间复杂度为 O ( N ) O(\sqrt{N}) O(N)