洛谷 P5596 【XR-4】题 题解
本题只要 推式子 就可以了。
\]
\]
\]
\]
\]
\]
到这里,式子推完了。 用到了一些因式分解、配方、移项等的知识,应该不算难吧。
而我们已知 \(a\) 和 \(b\).
此时只需要枚举 \(a^2-4b\) 的因子个数。但你会发现,不是所有的因子都可以满足 有正整数解的。
比方说现在 \(a^2-4b=u \times v(u \leq \sqrt{a^2-4b})\),此时有:
\]
即:
\]
显然需要满足的是:
\]
然后枚举即可。
时间复杂度: \(O(\sqrt {a^2-4b})\)
但是,对于\(a=10^8\),\(b=0\),很有可能会超时。
这时,观察两个性质:
\]
所以每次 \(u\) 和 \(v\) 的枚举 \(+2\) 即可。 也就是它们的奇偶性和\(a\)一样。
虽然常数上就是 \(\frac{1}{2}\) ,但是事实说明在超时的边缘,这还是很重要的。
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
inline ll read(){char ch=getchar();int f=1;while(ch<'0' || ch>'9') {if(ch=='-') f=-f; ch=getchar();}
	ll x=0;while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();return x*f;}
int main(){
	ll a=read(),b=read();
	ll x=a*a-4*b,ans=0;
	if(!x) {printf("inf");return 0;}
	for(ll i=(a+1)%2+1;i*i<=abs(x);i+=2){
		if(x%i) continue;
		ll u=i,v=abs(x/i);
		if(x<0) u=-u;
		if((v-u)%4) continue;
		if(v-(v-u)/2<a) break;
		ans++;
	}
	printf("%lld\n",ans);
	return 0;
}
												
											洛谷 P5596 【XR-4】题 题解的更多相关文章
- 洛谷P1072Hankson的趣味题题解
		
题目 一道十分经典的数论题,在考场上也可以用暴力的算法来解决,从而得到\(50pts\)的较为可观的分数,而如果想要AC的话,我们观察原题给的数据范围\(a,b,c,d\)(为了好表示,分别代表a1, ...
 - 洛谷 P5057 [CQOI2006]简单题 题解
		
P5057 [CQOI2006]简单题 题目描述 有一个 n 个元素的数组,每个元素初始均为 0.有 m 条指令,要么让其中一段连续序列数字反转--0 变 1,1 变 0(操作 1),要么询问某个元素 ...
 - 洛谷 P5596 【XR-4】题
		
洛谷 P5596 [XR-4]题 洛谷传送门 题目描述 小 X 遇到了一道题: 给定自然数 a,ba,b,求满足下列条件的自然数对 (x,y)(x,y) 的个数: y^2 - x^2 = ax + b ...
 - 洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈)
		
洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 ...
 - 洛谷P1783  海滩防御 分析+题解代码
		
洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ...
 - 洛谷P4047 [JSOI2010]部落划分题解
		
洛谷P4047 [JSOI2010]部落划分题解 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落 ...
 - 洛谷 P2791 幼儿园篮球题
		
洛谷 P2791 幼儿园篮球题 https://www.luogu.org/problemnew/show/P2791 我喜欢唱♂跳♂rap♂篮球 要求的是:\(\sum_{i=0}^kC_m^iC_ ...
 - 洛谷 P2220 [HAOI2012]容易题 数论
		
洛谷 P2220 [HAOI2012]容易题 题目描述 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数 ...
 - 在洛谷3369 Treap模板题 中发现的Splay详解
		
本题的Splay写法(无指针Splay超详细) 前言 首先来讲...终于调出来了55555...调了整整3天..... 看到大部分大佬都是用指针来实现的Splay.小的只是按照Splay的核心思想和原 ...
 - BZOJ2527 & 洛谷3527:[Poi2011]Meteors——题解
		
+++++++++++++++++++++++++++++++++++++++++++ +本文作者:luyouqi233. + +欢迎访问我的博客:http://www.cnblogs.com/luy ...
 
随机推荐
- C++扬帆远航——17(递归函数求阶乘)
			
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:阶乘.cpp * 作者:常轩 * 微信公众号:Worldhell ...
 - 我去,你写的 switch 语句也太老土了吧
			
昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意.但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:& ...
 - XML转换
			
找到两个不错的c#的关于XML转string和将string格式化XML输出 感谢以下两位的分享: [string格式化XML输出]http://blog.csdn.net/a497785609/ar ...
 - JDBC阶段总结
			
一.JDBC的概念:Java DataBase Connectivity用Java语言操作数据库(通过SQL)二.数据库的驱动和JDBC的关系三.编写JDBC的步骤: a.注册驱动 b.建立与数据库的 ...
 - 容器内init进程方案
			
背景 进程标识符 (PID) 是Linux 内核为每个进程提供的唯一标识符.熟悉docker的同学都知道, 所有的进程 PID都属于某一个PID namespaces, 也就是说容器具有一组自己的 P ...
 - js的变量——基本类型保存在栈中,引用类型保存在堆中
			
javascript的基本类型:Undefined,Null,Boolean,Number,String 引用类型:Object,Array,Function 基本类型值在内存中占据固定大小,被保存在 ...
 - JavaScript的类数组
			
类数组对象啊,被人问到它跟真正的数组对象有什么差别啊?说不上来就老埋汰了,只知道函数的arguments对象是个类数组对象,也有length属性,其他呢?干货奉上: 首先先说说数组吧: 1,当有新的元 ...
 - xcode制作越狱包
			
1.将运行目标选为iOS Device 2.Edit Scheme -> 选择 Run [App Name] -> Build Configuration下拉框中选择Release 3.生 ...
 - iOS8 定位失败问题
			
iOS7升级到iOS8后,百度地图 iOS SDK 中的定位功能不可用,给广大开发者带来了不便,在此向大家分享一个方法来解决次问题.(官方的适配工作还在进行中,不久将会和广大开发者见面) 1.在inf ...
 - JVM进阶:JVM的监控利器
			
每次聊起性能测试,最后的终极话题就是怎么做优化.其实在Java的复杂项目中都会有内存不足问题.内存泄露问题.线程死锁问题.CPU问题.这些问题在小压力的情况下有可能并不明显,很容易被忽视.但是真正到了 ...