距离统计 CH Round #49 - Streaming #4 (NOIP模拟赛Day2)

地址:

http://contesthunter.org/contest/CH%20Round%20%2349%20-%20Streaming%20%234%20(NOIP模拟赛Day2)

 

 

解析1:n x  m  的点阵 n 就行  m是列  l 就要放的长度:num 是能放的方法的总数

  一:只考虑横 和 竖 来放 那么 一共有: m*(n-l+1)+ n*(m-l+1)

  二:考虑斜着放: 加入能放的下:a*a + b*b = l*l   ------>  2*(n-a+1)*(m-b+1)  + 2 *(n-b+1)*(m-a+1)

 

解析2:

     这一题的关键是怎么斜着放,这就个数学知识:(注意,a b l 都为正整数)

      ①:当:a*a + b*b = l*l  时候,gcd(a,b,l) == 1 ,也就是说,a,b,l两两 互质

      ②:当:a*a + b*b = l*l  时候,l - a  ==完全平方数 或者  完全平方数的2倍。

 

 

代码 + 性质证明:

随后

posted @ 2014-08-17 15:10  rainboy  阅读(225)  评论(0编辑  收藏  举报