T2:圆点

思考难度:提高?

代码难度:普及?

首先有结论:半径R\sqrt{R}的圆经过的整点数是4dRχ(d)4\sum_{d|R}\chi(d),其中χ(d)=1 (d​​mod  4=1), 1 (d​​mod  4=3), 0 (d​​mod  2=0).\chi(d)=1~(d\!\!\mod 4=1),~-1~(d \!\!\mod 4 =3),~0~(d \!\!\mod 2=0).

所以答案是

4i=1Ridiχ(d)4\sum_{i=1}^{R}i\sum_{d|i}\chi(d)

=4d=1Rd×χ(d)i=1ndi=4\sum_{d=1}^{R}d\times \chi(d)\sum_{i=1}^{\lfloor{\frac{n}{d}}\rfloor}i

然后就可以O(R)O(\sqrt{R})计算了。

相关文章:

  • 2021-07-19
  • 2021-11-18
  • 2021-12-12
  • 2022-12-23
  • 2021-09-18
  • 2021-09-29
  • 2021-08-09
  • 2021-11-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2022-12-23
  • 2021-10-16
  • 2021-06-21
相关资源
相似解决方案