ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

圆上的整点(未完成)

2020-06-28 14:52:47  阅读:405  来源: 互联网

标签:25 整点 chi sqrt 完成 dfrac 圆上 2i


题目链接:这个咋做?P2508 [HAOI2008]圆上的整点

看过一次视频:Link

然而人老了,就忘了,今天复习了一下,记一下,防止再忘一次。

还有,别问我原理是啥。

\(ps:\) 一下说的所有“圆”都指圆心为原点的圆。

\(Part.1\)

质因数分解,每个数都有一个唯一分解式,这是数论的基础。

\[n=\prod\limits p_i^{k_i} \]

我们把实数分解推广到负数系。

高斯整数:实部与虚部都是整数的负数 (\(a+bi,a,b\in Z\))

举个栗子:

\[25=(3+4i)(3-4i) \]

就是对 \(25\) 在负数系中分解的一种情况。
对应在坐标平面,半径为 \(25\) 的圆上就有 \((3,4),(3,-4)\) 这两个点。

如何找到所有的分解呢?

我们先把圆的半径 \(\sqrt{n}\) 进行实数内的质因数分解。

我们以 \(\sqrt{25}=5\) 为例。

\[25=5×5 \]

然后把 \(5\) 分解。

分解式要注意同一个素数只用一种分解方法。

\[25=5×5=(1+2i)(1-2i)(1+2i)(1-2i) \]

这是我们把 \(25\) 的四个复因子分为两组,并且使得两组中都共轭的一一对应。

我们假设左面那一组为主导组,主导组不同的就定义为不同的分配方法。

我们于是乎就有三种分配方法:

\(1.\{1+2i,1+2i\}\&\{1-2i,1-2i\}\)
\(2.\{1+2i,1-2i\}\&\{1-2i,1+2i\}\)
\(3.\{1-2i,1-2i\}\&\{1+2i,1+2i\}\)

我们可以尝试计算每一种方法中两组的积,所得的负数互为共轭复数。

比如第一组中两组乘积分解为 \(-3+4i,-3-4i\)。

这时候,我们发现 \((-3,4)\) 和 \((-3,-4)\) 正是半径为 \(\sqrt{25}\) 的圆上的整点坐标。

不过我们只取主导组中的,因为之后可能会重复计算......

这时候我们只找到了圆上的三个整点(主导组)。

但是复数系上的分解不是唯一的。

比如 \(5=(2+i)(2-i),5=(-1+2i)(-1-2i),(-2+i)(-2-i)\)

这些都是由其中一对乘上 \(-1,i,-i\) 而得到的。
每一组又能得到三个整点,这时候我们就输完了,即半径为 \(\sqrt{25}\) 的圆上有 \(4×3=12\) 个整点。

或者说有 \(12\) 个整数数对 \((a,b)\) 满足 \(a^2+b^2=25\)。

\(Part.2\)

当你兴冲冲的去尝试半径为 \(\sqrt{15}\) 的圆上有几个整点时,你发现 \(3\) 怎么分解啊?

答案是没法分解。

这也就意味着并没有分配方式满足两组一一对应共轭,也就是说没有整点在半径为 \(\sqrt{15}\) 的圆上。

我们再尝试 \(\sqrt{10}=2×5\)。

显然, \(2\) 的一种分配方解是 \((1+i)(1-i)\)
那样会不会增加一种分配方式呢?

答案是否定的,因为 \((1+i)\) 与 \(1-i\) 本身就存在着乘 \(i\) 的关系,所以将 \((1+i)\) 和 \((1-i)\) 换位再乘上 \(4\) 会增加数目,所以只有和 \(5\) 分配方式数相同的数目即为 \(4\)。

这个地方不懂了要手玩啊。

当然在 \(3\) 的次数为偶数时,可以将次数的一半分配到两个不同的组,同时调换位置也不能改变最后乘出来的结果,所以答案为剩余部分的方案数。

也就是说 \(\sqrt{N}=2^{100}×3^{93}×7\) 的整点数为 \(0\),而 \(\sqrt{N}=2^{100}×3^{92}×7\) 的整点数为 \(8\) 种。

经过探究,我们发现(并没有发现,其实是结论)对于一个素数,当他为 \(\bmod 4=3\) 的数时,不能分解为两个虚数。

当他 \(\bmod 4=1\) 时,可以分解为不被乘 \(-1,i,-i\) 干扰的两个虚数。

当他为 \(2\) 时,会被干扰,对答案无贡献。

我们容易发现规律:

对于一个数 \(N\) ,把他的质因子分为三组 \(S_1,S_2,S_3\),分别对应上面那两种情况,最后的答案

\[ans=(\prod_{p_i\in S_1}1[2|k_i])(\prod_{p_i \in S_2} (k_i+1))(\prod_{p_i\in S3}1)=(\prod_{p_i\in S_1}1[2|k_i])(\prod_{p_i \in S_2} (k_i+1)) \]

这玩意已经能 \(O(\sqrt{N})\) 了。

\(Part.3\)

能不能更深呢?

我们记录一个函数 \(\chi(n)\)。

定义:

\[\chi(x)=\begin{cases}1&x\bmod4=1\\-1&x\bmod 4=3\\0&x\bmod 2=0\end{cases} \]

他是个完全积性函数

那么:

\[ans=4\prod\sum_{j=0}^{k_i}\chi(p_i^j) \]

当 \(p_i=2\) 的时候后,除了 \(\chi(2^0)=1\),其他都是 \(0\)。
加起来还是 \(1\),就没有贡献。

当 \(p_i=4n+3\) 时,次数为偶和为 \(1\),否则为 \(0\) 。
以后可能会证......

当 \(p_i=4n+1\) 时,为 \(k_i+1\)

由于 \(p_i^j\) 不同的组合得到其所有因数,又因为这个函数是完全积性函数,我们得到:

\[ans=4\sum\limits_{d|n} \chi(d) \]

这个东西也是 \(O(\sqrt{N})\) 的。

那么半径为 \(\sqrt{N}\) 的圆中有多少整点呢?

当然是:

\[4\sum\limits_{i=1}^n\sum_{d|i}\chi(d)+1 \]

最后加的是圆点,他不过任何一个圆但是在大圆之内。

按反演的套路化简:

\[\begin{aligned} 4\sum\limits_{i=1}^n\sum_{d|i}\chi(d)+1&=4\sum_{d=1}^n\chi(d)\left\lfloor\dfrac{n}{d}\right\rfloor+1 \end{aligned} \]

由于 \(\chi(d)\) 很有规律,所以这个也可以 \(O(\sqrt{N})\) 算。

\(Part.4\)

我们考虑一个圆中的整点个数大概是:

\[\pi R^2 \]

当 \(n\) 够大的时候,我们可以将 \(\left\lfloor\dfrac{n}{d}\right\rfloor\) 看为 \(\dfrac{n}{d}\),同时 \(+1\) 可以省去。

那么:

\[4\sum\limits_{i=1}^{n}\chi(i)\dfrac{n}{i}=\pi R^2 \]

同时这里的 \(n\) 不就是 \(R^2\) 吗?
即:

\[4R^2\sum\limits_{i=1}^{R^2}\chi(i)\dfrac{1}{i}=\pi R^2 \]

我们手玩一下发现后面这个东西不就是:

\[4R^2(\dfrac{1}{1}-\dfrac{1}{3}+\dfrac{1}{5}-\dfrac{1}{7}+......) \]

整理一下得到:

\[\sum\limits_{i}^{\infty}\dfrac{(-1)^{i+1}}{2i-1}=\dfrac{\pi}{4} \]

标签:25,整点,chi,sqrt,完成,dfrac,圆上,2i
来源: https://www.cnblogs.com/tlx-blog/p/13202781.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有