对于重复计算({iggllfloorfrac{k}{n}iggr floor})的问题,由于结果具有单调性,并且相同数字重复,可以划分阶段,化简计算。
例:计算
[sum_{i=1}^{n}kmod i
]
可化为
[nk-sum_{i=1}^{n}i{iggllfloorfrac{k}{i}iggr
floor}
]
考虑性质(核心。可以死记硬背
[{iggllfloorfrac{k}{{igllfloorfrac{k}{{igllfloorfrac{k}{i}igr
floor}}igr
floor}}iggr
floor}={iggllfloorfrac{k}{i}iggr
floor}
]
令$$ {{iggllfloorfrac{k}{{igllfloorfrac{k}{i}igr floor}}iggr floor}}=g(i)$$则每次可以计算
[isum_{j=g(i-1)+1}^{g(i)}j
]
使用等差数列求和公式即可。
(未完待续)