2012年ACM校集训队暨第一梯队选拔赛1解题报告

D:Max' point-by logx

 

E:Max' point

关于本题首先要证明下正三角形的三个顶点不能画在格点上面(所有坐标为整数)

 

反证法:

 

设等边三角形三个顶点坐标 (0,0) (a,b) (c,d)

 

 三边相等得 L  =  a^2 + b^2  =  c^2 + d^2  =  (a-b)^2 + (c-d)^2 

               =  a^2 + b^2 + c^2 + d^2 - 2ac - 2bd

 化解可得  L=2ac+2bd 

 

 设 (a,b,c,d)的最大公约数为B

 a'=a/B   b'=b/B   c'=c/B 

 (1)那么(a',b',c',d')最大公约数为 1 (a',b',c',d'中必有奇数)

 (2)有L'  =  a'^2 + b'^2  =  c'^2 + d'^2  =  (a'-b')^2 + (c'-d')^2 

            =  a'^2 + b'^2 + c'^2 + d'^2 - 2a'c' - 2b'd' = 2(ac+bd) 

      则L'必为偶数

      因为a'和b' ,c'和d'同奇偶,所以a',b',或c',d'为奇数;

      (一个奇数2x+1的平方,(2x+1)^2=4*x^2 + 4*x +1 被4除余1)

      所以 a'^2,b'^2或c'^2,d'^2 被4除余1;

      因为 L'  =  a'^2 + b'^2  =  c'^2 + d'^2 

      所以 L'被4除余2;

      设 a' ,b'为奇数 

      1. c',d'也为奇数

      那么L'=(a'-b')^2 + (c'-d')^2 被4除余0,矛盾排除;

      2.c',d'为偶数

      那么L'=c'^2 + d'^2被4除余0,矛盾排除;

  综上所述正三角形的三个顶点不能画在格点上面(所有坐标为整数)

  至于代码实现 快排 遍历即可 不解释(注意总数64位保存);

  在此感谢 crq 和 ahmasoi的指导。


为解题报告打分
暂时不评分

★★
★★★
★★★★
★★★★★
发表您的评论(若贴AC代码或发表禁止言论等违禁行为将被删除并扣除积分)

|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.