整除分块
整除分块,可以把一些算法优化为
O(n−−√)级别
O
(
n
)
级
别
我们在计算
∑i=1n⌊ni⌋
∑
i
=
1
n
⌊
n
i
⌋
时,一般的直接枚举都是
O(n)
O
(
n
)
但是我们通过一些神奇的操作发现,在计算
∑i=1n⌊ni⌋
∑
i
=
1
n
⌊
n
i
⌋
时,有一段的
⌊ni⌋
⌊
n
i
⌋
的值是相等的,然后我们就可以对于每一段只计算一次,每一次的区间的长度为
nni
n
n
i
,复杂度就降低了.
for(int i=1;i<=n;i=j+1)
{
j=n/(n/i);
```````
}