bzoj4544: 椭圆上的整点
链接
http://www.lydsy.com/JudgeOnline/problem.php?id=4544
题解
“我真傻,真的,”wyw抬起没有神采的眼睛,接着说。“我单知道这是做过的题目,第二次却还要翻题解。而且调了一整节课”
真是一个悲伤的故事,我太弱了。
y^2=\frac{1}{3}(N-x)(N+x)
令 d=gcd(N−x)(N+x)d=gcd(N-x)(N+x)
y^2=\frac{1}{3}d^2(3a^2b^2)
3a^2+b^2=\frac{2N}{d}
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: 椭圆上的整点相关推荐
- [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),则有 ...
- BZOJ 4544: 椭圆上的整点
Sol 数学. 跟圆上的整点一样...TA写了个积性函数的算法...以后再说吧... \(x^2+3y^2=r^2\) \(3y^2=r^2-x^2\) \(3y^2=(r-x)(r+x)\) \(y ...
- 已知长短轴求椭圆上任意一点的坐标_高中数学必修2:平面解析几何——椭圆(经典习题)...
今天接着给大家分享关于高中数学必修2平面解析几何中椭圆知识点讲解,从三个方面进行讲解:基础梳理.要点整理.经典高考习题解题过程及答案. 一.基础梳理 1.椭圆的定义 2.椭圆的标准方程和几何性质 要点 ...
- OpenCv:椭圆上点的计算方程
椭圆 椭圆(Ellipse)是平面内到定点F1.F2的距离之和等于常数(大于|F1F2|)的动点P的轨迹,F1.F2称为椭圆的两个焦点.其数学表达式为: ...
- 求圆和椭圆上任意角度的点的坐标
圆上任意角度的点的坐标 如上图,给定圆心(Cx,Cy),半径为R, 求θ\thetaθ对应的点的坐标? 此处θ\thetaθ是相对于水平轴的角度. 显然我们可以使用极坐标转换来求: {px=Cx+Rc ...
- bzoj 1041: [HAOI2008]圆上的整点
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2838 Solved: 1238 [Submit][S ...
- 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 ...
- matlab如何离散椭圆方程,给出一些椭圆上离散的点的横纵坐标,怎么用matlab拟合出椭圆方程...
共回答了28个问题采纳率:96.4% M文件的代码如下: function [newX,newY,v]=FitEllip(X,Y,N) %本函数用最小二乘法拟合椭圆 %输入变量:X.Y为数据点坐标(列 ...
- matlab 变成圆形坐标,求圆和椭圆上任意角度的点的坐标
圆上任意角度的点的坐标 如上图,给定圆心(Cx,Cy),半径为R, 求θ \thetaθ对应的点的坐标? 此处θ \thetaθ是相对于水平轴的角度. 显然我们可以使用极坐标转换来求: { p x = ...
最新文章
- VS无法读取项目文件?
- 使用Spring Security保护REST服务
- Pandas to_numeric
- 12306抢票脚本 python_春运抢票靠加速包?试试这个 Python 开源项目吧
- GDataDate 的本地时间转换
- java6不支持tlsv1.2_解决 JDK1.7 不支持 VCenter 6.7 的问题(涉及到Https TLS1.2协议)
- Windows内核研究工具
- RS485电路设计原理图
- 嵌入式系统开发环境概述
- 2022年全新PHP程序开发在线工单管理系统源码,售后工单系统
- 【大学生软件测试基础】飞机票预定系统 - 因果图 - 测试用例
- 达梦数据库在ZYJ环境上进行服务的配置
- 软件系统开发|公众号都有哪些展现形式?
- [HITSC]哈工大2020春软件构造Lab3实验报告
- macbook android 热点,Mac_mac如何做热点?mac创建wifi热点方法介绍, 如果是家里有路由器的, - phpStudy...
- 图片收集/收集图片/图片征集/征集图片的工具/小程序
- 【嵌入式】关于IAP+Xmodem从外部接收bin文件对芯片进行升级学习记录
- AppID、AppKey、AppSecret
- 7-18 二分法求多项式单根
- JAVA爬虫-上海公交线路爬取
热门文章
- FL Studio教程之如何外接设备
- android 双卡铃声,铃声多多双卡版
- Flink 1.12.2 源码浅析 : yarn-per-job模式解析 [二]
- 关于项目 no jacob-1.18-x64 in java.library.path问题解决方案
- c语言程序课程设计题目
- Python第三方模块:PyQt5简介
- 浅析N沟道增强型MOS管双向低频开关电路
- Eclipse中文语言包安装和设置中文
- vim的替换字符串的命令
- 【ARTS】01_06_左耳听风-20181217~1223