算法杂项
算法杂项
数论部分
两个数互质则不能由 p, q 凑出来的最大的数为 (p - 1) * (q - 1) - 1;
平面直角坐标系部分
皮克定理:
定理: 皮克定理是指一个计算点阵中顶点在格点上的多边形面积公式,该公式可以表示为 S = a + b/2 - 1
,其中 a 表示多边形内部的点数,b 表示多边形落在格点边界上的点数,S 表示多边形的面积。
结论: s(面积) = a(中间的点) + b(边上的点) / 2 - 1
两点(x1, y1)(x2, y2)的连线上的整点数 :
结论:
abs(gcd(x1 - x2, y1 - y2))
证明
- 将该直线其中一点移动到原点(0, 0),另一点为(a, b),则该直线斜率为 b’ / a’ (约分过),则该支线上的所有点一定为
k * (b' / a')
,k 可取 1, 2, 3, …… , gcd(a, b)。化为原坐标即为gcd(x1 - x2, y1 - y2)
, 因为 gcd 函数可能得负数,所以取 绝对值 abs()
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Moench 的算法宝库!