BZOJ P1041[HAOI2008]圆上的整点

来源:互联网 发布:订餐的软件 编辑:程序博客网 时间:2024/05/29 19:37

WAWAWAWAWAWAWAWAWA

好神的一道数学题啊

一开始,看图就知道只用枚举一个象限,其他象限直接*4即可得出答案(当然还要加上(0,r)(0,-r)(r,0)(-r,0))

首先看式子

x^2+y^2=r^2

移项并平方差一下就是y^2=(r-x)(r+x)

然后我们假设d=gcd(r-x,r+x)

然后我们再设A=(r-x)/d,B=(r+x)/d(这一步可以得出A,B互质)

那么式子可以化为y^2=d^2*(r-x)/d*(r+x)/d

也就是y^2=d^2*A*B

又因为A,B分别互质的啊,所以A,B分别是平方数,可以设

A=a^2,B=b^2

然后枚举d和a就可以一步一步吧b,B,x推出来,然后判断一下即可

0 0
原创粉丝点击