Description
统计点对A(x1,y1),B(x2,y2),C(x3,y3) 的数量,满足:
• x1,x2,x3, y1,y2,y3 都是整数
• 0 <= x1, x2, x3 < N,0 <= y1, y2, y3 < M
• 三角形ABC 的面积不是整数
• 对于100% 的数据,1 <= N,M <= 10^9。
Analysis
看到这样的数据范围,又是这种数学相关题,就觉得可以O(1)
考虑使用向量表示一个三角形,以(x1,y1)为原点,则(x2-x1,y2-y1),(x3-x1,y3-y1)为两个向量
我们知道,三角形面积不为整数等价于两个向量叉积为奇数
即(x2-x1)(y3-y1)-(y2-y1)(x3-x1)为奇数
化简,提个公因式
x1(y2-y3)+x3(y1-y2)+x2(y3-y1)为奇数
讨论奇偶性,发现y的差值只可能有三个全偶,一个偶两个奇两种情况
而前一种显然加起来为偶数
所以三个y的差值中只可能是一个偶两个奇
那么x的奇偶性随便讨论一下就好啦
很simple对不对,最后的式子化出来就是
Ans=6∗n∗m∗⌊n/2⌋⌊m/2⌋⌈n/2⌉⌈m/2⌉