链接

  http://www.lydsy.com/JudgeOnline/problem.php?id=4544

题解

  “我真傻,真的,”wyw抬起没有神采的眼睛,接着说。“我单知道这是做过的题目,第二次却还要翻题解。而且调了一整节课”

  真是一个悲伤的故事,我太弱了。
  

y2=13(N−x)(N+x)

y^2=\frac{1}{3}(N-x)(N+x)
  令 d=gcd(N−x)(N+x)d=gcd(N-x)(N+x)
  

y2=13d2(3a2b2)

y^2=\frac{1}{3}d^2(3a^2b^2)
  

3a2+b2=2Nd

3a^2+b^2=\frac{2N}{d}
  

d(3a2+b2)=N

d(3a^2+b^2)=N
  另外还有 d(a2+3b2)=Nd(a^2+3b^2)=N的情况。
  复杂度 O(N34)O(N^\frac{3}{4}),这是一个很宽的上界,实际上约数个数平均是远小于 N−−√\sqrt{N}的,所以即使算着 10910^9还依然能过。

代码

//数学
#include <cstdio>
#include <algorithm>
#include <cmath>
#define ll long long
using namespace std;
inline bool pan(ll x)
{ll t=sqrt(x);return t*t==x;
}
ll gcd(ll a, ll b){return !b?a:gcd(b,a%b);}
int main()
{ll d, a, b2, ans, t, N, T;for(scanf("%lld",&T);T;T--){scanf("%lld",&N);ans=0;for(d=1;d*d<=2*N;d++){if(2*N%d!=0)continue;t=2*N/d;for(a=1;3*a*a<=t;a++){if(3*a*a*2==t)continue;b2=(t-3*a*a);if(pan(b2) and gcd(3*a*a,b2)==1)ans++;}if(d*d==2*N)continue;t=d;for(a=1;3*a*a<=t;a++){if(3*a*a*2==t)continue;b2=(t-3*a*a);if(pan(b2) and gcd(3*a*a,b2)==1)ans++;}}printf("%lld\n",ans*4+2);}
}

bzoj4544: 椭圆上的整点相关推荐

  1. [bzoj4544]椭圆上的整点 解题报告

    先来看傻逼的做法: 稍微化下式子. x2+3y2=n23y2=(n+x)(n−x) x^2+3y^2=n^2\\ 3y^2=(n+x)(n-x) 令 g=(n+x,n−x)g=(n+x,n-x),则有 ...

  2. BZOJ 4544: 椭圆上的整点

    Sol 数学. 跟圆上的整点一样...TA写了个积性函数的算法...以后再说吧... \(x^2+3y^2=r^2\) \(3y^2=r^2-x^2\) \(3y^2=(r-x)(r+x)\) \(y ...

  3. 已知长短轴求椭圆上任意一点的坐标_高中数学必修2:平面解析几何——椭圆(经典习题)...

    今天接着给大家分享关于高中数学必修2平面解析几何中椭圆知识点讲解,从三个方面进行讲解:基础梳理.要点整理.经典高考习题解题过程及答案. 一.基础梳理 1.椭圆的定义 2.椭圆的标准方程和几何性质 要点 ...

  4. OpenCv:椭圆上点的计算方程

    椭圆         椭圆(Ellipse)是平面内到定点F1.F2的距离之和等于常数(大于|F1F2|)的动点P的轨迹,F1.F2称为椭圆的两个焦点.其数学表达式为:                 ...

  5. 求圆和椭圆上任意角度的点的坐标

    圆上任意角度的点的坐标 如上图,给定圆心(Cx,Cy),半径为R, 求θ\thetaθ对应的点的坐标? 此处θ\thetaθ是相对于水平轴的角度. 显然我们可以使用极坐标转换来求: {px=Cx+Rc ...

  6. bzoj 1041: [HAOI2008]圆上的整点

    1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2838  Solved: 1238 [Submit][S ...

  7. bzoj千题计划127:bzoj1041: [HAOI2008]圆上的整点

    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 ...

  8. matlab如何离散椭圆方程,给出一些椭圆上离散的点的横纵坐标,怎么用matlab拟合出椭圆方程...

    共回答了28个问题采纳率:96.4% M文件的代码如下: function [newX,newY,v]=FitEllip(X,Y,N) %本函数用最小二乘法拟合椭圆 %输入变量:X.Y为数据点坐标(列 ...

  9. matlab 变成圆形坐标,求圆和椭圆上任意角度的点的坐标

    圆上任意角度的点的坐标 如上图,给定圆心(Cx,Cy),半径为R, 求θ \thetaθ对应的点的坐标? 此处θ \thetaθ是相对于水平轴的角度. 显然我们可以使用极坐标转换来求: { p x = ...

最新文章

  1. VS无法读取项目文件?
  2. 使用Spring Security保护REST服务
  3. Pandas to_numeric
  4. 12306抢票脚本 python_春运抢票靠加速包?试试这个 Python 开源项目吧
  5. GDataDate 的本地时间转换
  6. java6不支持tlsv1.2_解决 JDK1.7 不支持 VCenter 6.7 的问题(涉及到Https TLS1.2协议)
  7. Windows内核研究工具
  8. RS485电路设计原理图
  9. 嵌入式系统开发环境概述
  10. 2022年全新PHP程序开发在线工单管理系统源码,售后工单系统
  11. 【大学生软件测试基础】飞机票预定系统 - 因果图 - 测试用例
  12. 达梦数据库在ZYJ环境上进行服务的配置
  13. 软件系统开发|公众号都有哪些展现形式?
  14. [HITSC]哈工大2020春软件构造Lab3实验报告
  15. macbook android 热点,Mac_mac如何做热点?mac创建wifi热点方法介绍,  如果是家里有路由器的, - phpStudy...
  16. 图片收集/收集图片/图片征集/征集图片的工具/小程序
  17. 【嵌入式】关于IAP+Xmodem从外部接收bin文件对芯片进行升级学习记录
  18. AppID、AppKey、AppSecret
  19. 7-18 二分法求多项式单根
  20. JAVA爬虫-上海公交线路爬取

热门文章

  1. FL Studio教程之如何外接设备
  2. android 双卡铃声,铃声多多双卡版
  3. Flink 1.12.2 源码浅析 : yarn-per-job模式解析 [二]
  4. 关于项目 no jacob-1.18-x64 in java.library.path问题解决方案
  5. c语言程序课程设计题目
  6. Python第三方模块:PyQt5简介
  7. 浅析N沟道增强型MOS管双向低频开关电路
  8. Eclipse中文语言包安装和设置中文
  9. vim的替换字符串的命令
  10. 【ARTS】01_06_左耳听风-20181217~1223