[ HAOI 2008 ] 圆上的整点】的更多相关文章

\(\\\) Description 给出一个整数 \(r\) ,求圆 \(x^2+y^2=r^2\) 上的整点数. \(r\le 2\times 10^9\) \(\\\) Solution 神题. 可以注意到,坐标轴上共有四个整点,其余位置各个象限里整点数相同,所以我们只需要计算第一象限的答案. 首先有方程 \[ x^2+y^2=r^2 \] 移项,得 \[ x^2=r^2-y^2=(r+y)(r-y) \] 设 \(d=gcd(r+y,r-y)\),有 \[ x^2=\frac{r+y}{…
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3621  Solved: 1605[Submit][Status][Discuss] Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 只有一个正整数n,n<=2000 000 000 Output 整点个数 Sample Input 4 Sample Output 4 HINT   Sourc…
1041: [HAOI2008]圆上的整点 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=1041 Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input r Output 整点个数 Sample Input 4 Sample Output 4 HINT n<=2000 000 000 题意 题解: h…
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2027  Solved: 853[Submit][Status] Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input r Output 整点个数 Sample Input 4 Sample Output 4 HINT n<=2000 000 000 Source 這道題可用本原勾股數組解,由於本原…
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4298  Solved: 1944[Submit][Status][Discuss] Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 只有一个正整数n,n<=2000 000 000 Output 整点个数 Sample Input 4 Sample Output 4 HINT 科普视频 /*…
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4210  Solved: 1908[Submit][Status][Discuss] Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 只有一个正整数n,n<=2000 000 000 Output 整点个数 Sample Input 4 Sample Output 4 HINT 科普视频 So…
[BZOJ1041][HAOI2008]圆上的整点 题面 bzoj 洛谷 题解 不妨设\(x>0,y>0\) \[ x^2+y^2=r^2\\ y^2=(x+r)(x-r) \] 设\(r-x=ud,r+x=vd,(u,v)=1\) \[ y^2=d^2uv \] \(u,v\)一定为完全平方数 则\(u=s^2,v=t^2\)且必有\((s,t)=1\) \[ 2r=(u+v)d=(s^2+t^2)d\\ \Rightarrow\\ x=\frac{t^2-s^2}{2}d\\ y=dst\…
[BZOJ1041]圆上的整点(数论) 题面 BZOJ 洛谷 题解 好神仙的题目啊. 安利一个视频,大概是第\(7\)到\(19\)分钟的样子 因为要质因数分解,所以复习了一下\(Pollard\_rho\) #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #inclu…
http://www.lydsy.com/JudgeOnline/problem.php?id=1041 设 X>0 ,Y>0 X^2 + Y^2 = R^2 X^2 = R^2-Y^2 = (R+Y)(R-Y) 令  d=gcd(R+Y,R-Y),A=(R+Y)/d,B=(R-Y)/d 则 gcd(A,B)=1,且A != B X^2= d^2 *A * B 所以 A * B 为 完全平方数 又因为 gcd(A,B)=1 ,A!=B,所以 A,B 都是 完全平方数 令 a= 根号A,b=根号…
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4631  Solved: 2087 [Submit][Status][Discuss] Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 只有一个正整数n,n<=2000 000 000 Output 整点个数 Sample Input 4 Sample Output 4 最容易想到的就是直接…
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4966  Solved: 2258[Submit][Status][Discuss] Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 只有一个正整数n,n<=2000 000 000 Output 整点个数 Sample Input 4 Sample Output 4 HINT 科普视频 So…
题面 给定圆的半径,求圆上整点数 这是一道很Nice的数学题!超爱!好吧,由于这道题,我去Study了一下复数(complex number)复杂的数 真棒!!! 有兴趣的戳这里!!!\(\huge \to\) 思路: 高斯素数的原理,将整数分解质因数后,再把每个质因数分解成高斯素数,对于质数4n+1,它可以有效的分解成高斯素数,而质数4n+3不能,因为3无法分解为高斯素数,所以当一个数有奇数个3因子时,这个圆上没有整点,而3的个数为偶数时,由于能分成两组配对,所以有整点,但3对Ans的影响为0…
2021.12.06 P2508 [HAOI2008]圆上的整点(数论+ \(\pi\) ) https://www.luogu.com.cn/problem/P2508 题意: 求一个给定的圆 \((x^2+y^2=R^2)\) ,在圆周上有多少个点的坐标是整数. 分析: 第一步,咱把圆以横竖坐标轴为分界线分成四份儿,算出一份的整点坐标数*4就是结果. 恭喜你,40分到手. 第二步,先画一个 \(R=5\) 的圆,只关注第一象限,这里有四个整点坐标,分别为 \((0,5)\) , \((3,4…
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1041 题意:求圆x^2+y^2=r^2上的整点. 思路:由于对称性,我们只需要计算第一象限的即可. 因此,我们首先枚举2r的约数d,令R=r/d,枚举u,v,使得u^2+v^2=R且(u,v)=1即可. i64 n; i64 Gcd(i64 x,i64 y){    return !y?x:Gcd(y,x%y);} i64 cal(i64 n){    i64 i,j,ans=0; …
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1041 题意: 给定n(n <= 2*10^9),问你在圆x^2 + y^2 = n^2的圆周上,有多少个坐标为整数的点. 题解: 科普视频:http://www.bilibili.com/video/av12131743/ 推导的大致思路: 推导: 一.17 = 4^2 + 1^2 求圆周上有多少个点,就是求有多少个整数对(a,b)满足a^2 + b^2 = R^2. 二.17 = (4…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1041 题意: 给定n(n <= 2*10^9),问你在圆x^2 + y^2 = n^2的圆周上,有多少个坐标为整数的点. 题解: 科普视频:http://www.bilibili.com/video/av12131743/ 推导的大致思路: 推导: 一.17 = 4^2 + 1^2 求圆周上有多少个点,就是求有多少个整数对(a,b)满足a^2 + b^2 = R^2. 二.17 = (4…
题目描述 求一个给定的圆\(x ^2 +y ^2 = r ^2\),在圆周上有多少个点的坐标是整数 Solution 圆上的点坐标通解:\(x = d\frac{v^2-u^2}{2},y = duv, r = \frac{d(v^2-u^2)}{2}\) 枚举2r的因子d,对每个d枚举u,然后判断\(v^2\)是否是完全平方数,以及v与u是否互质.这样求出的答案再乘以4,再加上4(就是圆与坐标轴的交点)就好了. #include <iostream> #include <cstdio&…
http://www.lydsy.com:808/JudgeOnline/problem.php?id=1041 所谓的神题,我不会,直接题解..看了半天看懂题解了.详见hzwer博客 这题呢,我只能吸收些思想,即,当我们要找合法解的时候,我们可以深究它的性质,然后用性质来判定是否存在合法解. 此神题直接看题解打码. #include <cstdio> #include <cstring> #include <string> #include <iostream&…
Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数.Input rOutput 整点个数Sample Input4Sample Output4HINT n<=2000 000 000 不会做,膜拜神犇的题解 var r:int64; ans,d:longint; function gcd(a,b:int64):int64; var t:int64; begin do begin t:=a mod b; a:=b; b:=t; end; exit(a)…
Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 只有一个正整数n,n<=2000 000 000 Output 整点个数 Sample Input 4 Sample Output 4 HINT Source Solution 网上有一个很好的证明 #include <bits/stdc++.h> using namespace std; typedef long long ll; ll gcd(ll a, ll b) { r…
题目描述 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. 输入输出格式 输入格式: r 输出格式: 整点个数 输入输出样例 输入样例#1: 4 输出样例#1: 4 说明 n<=2000 000 000 接下来枚举d,a 为什么要除d? 因为他们不互质,a*b是完全平方数≠a,b都是完全平方数 记住还要a*a,b*b互质 #include<iostream> #include<cstdio> #include<cstring> #incl…
数学题第二弹! Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 一个正整数r. Output 整点个数. Sample Input 4 Sample Output 4 HINT r<=2000 000 000 Solution 小C不想写题解啊啊啊啊!!!! 题解在这里啊啊啊啊!!!!(看完记得投币!!!!) 我爱数学啊啊啊啊!!!! 开玩笑的,还是说一说题解吧. 相信如果你认真看完了上面那个视频的前25min,心里肯定已经有不下一…
Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 只有一个正整数n,n<=2000 000 000 Output 整点个数 Sample Input 4 Sample Output 4 Solution 一个有趣的视频 Code #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #define LL l…
题目描述 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. 输入输出格式 输入格式: r 输出格式: 整点个数 输入输出样例 输入样例#1: 4 输出样例#1: 4 说明 n<=2000 000 000 暴力很好打,但是这1000%是数论题.不就是推推式子嘛. 由于圆这个东西很棒棒,我们只需要考虑某一象限内的情况就行了.为了方便解题,我们取第一象限作研究对象. 因为x^2+y^2=n^2,变换一下,y^2=n^2-x^2=(n-x)(n+x). 设gcd(n-x,n+x…
数学题 原题:平面上有一个圆, 圆心坐标为(0,0),半径为n. 问圆周上有多少个整点. 整点的定义即x,y坐标均为整数的点. 这根本就是一道数学题,注意是数学题,不是数论,数学! 纯粹就看魔性变公式的能力了 一种写法是酱紫的->http://blog.csdn.net/csyzcyj/article/details/10044629 黄学长的博客上也是这个,然而这个有点复杂啊我这么弱不会啊 然后就看到了一个比较简便的,我这种数学撑死了考不过120的弱鸡也能玩出来的方法(只是看题解推出来,自己想…
题目描述 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. 输入 只有一个正整数n,n<=2000 000 000 输出 整点个数 样例输入 4 样例输出 4 题解 数论 #include <cmath> #include <cstdio> typedef long long ll; ll judge(ll k) { ll t = (ll)sqrt(k); return t * t == k ? t : 0; } ll gcd(ll a , ll b…
这个题一开始看着没什么思路,但是一看题解就明白了不少,主要是数学证明,代码很好写. 贴个网址: hzwer 题干: 题目描述 求一个给定的圆(x^+y^=r^),在圆周上有多少个点的坐标是整数. 输入格式 只有一个正整数n,n<= 输出格式 整点个数 样例输入 样例输出 代码: #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespac…
题目描述 求一个给定的圆$ (x^2+y^2=r^2) $,在圆周上有多少个点的坐标是整数. 输入格式 \(r\) 输出格式 整点个数 输入输出样例 输入 4 输出 4 说明/提示 \(n\le 2000 000 000\) 思路 题目的所求可以转化为 问题的所求可以转化为\(y^{2}=r^2-x^2\)(其中\(x,y,r\)均为正整数). 即\(y^2=(r-x)(r+x)\)(其中\(r,x,y\)均为正整数) 不妨设\((r-x)=d\times u------① (r+x)=d\ti…
题目描述 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. 输入输出格式 输入格式: r 输出格式: 整点个数 输入输出样例 输入样例#1: 复制 4 输出样例#1: 复制 4 说明 n<=2000 000 000 /* 处理筛法: 筛素数筛到r<=2e9的话显然数组开不下 显然一个数有<=1个大于它的sqrt的素因子 所以我们筛小于等于sqrt(r)的范围内的素数 然后用筛出来的素数将n质因数分解后可能r!=1 这个时候的n就是n的那个大于sqrt(r)的素因…
Description 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. Input 只有一个正整数n,n<=2000 000 000 Output 整点个数 Sample Input 4 Sample Output 4 想法 嗯哼,一道数学题. 开始推柿子. 首先我们只需求出满足 $ x^2 + y^2 = z^2 $ 的正整数对数即可,乘以4后再加4便为答案 \[ x^2+y^2=z^2 \\ y^2=z^2-x^2=(z+x)(z-x) \\ 设\quad d=g…