题目描述

任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number。你的工作就是判断一个数N是不是Couple number。

输入输出格式

输入格式:

仅一行,两个长整型范围内的整数$n_1$和$n_2$,之间用1个空格隔开。

输出格式:

输出在$n_1$到$n_2$范围内有多少个Couple number。

注意:包括$n_1$和$n_2$两个数,且$n_1<n_2,n_2 - n_1 \leqslant 10^7$。

输入输出样例

输入样例#1: 
1 10
输出样例#1:
7

感想

  离高考还有46天,为纪念省统测考得不错,忙里偷闲来做一道题#滑稽。

  前几天Neil出YNOI2018时没叫上我,自己一个人就把题目出好发给老师了……说好的一起出今年省选题呢!?

  发现自己的码力在不断地降降降降……这道普及减的题花费了我两晚上(见下)……

解题思路(雾)

  第一晚,打表找规律——

 #include<cstdio>

 int p[]={};
int pf[]={};
int main()
{
for(int i=;i<=;i++)
pf[i]=i*i; for(int i=;i<=;i++)
for(int j=;j<i;j++)
p[pf[i]-pf[j]]=; for(int i=1;i<=;i++)//我居然还记得这样可以既去重又排序#滑稽
if(!p[i]) printf("%d\n",i); return ;
}

  运行结果的最前面一部分——


  随着$n$的增大,$n^2$和$(n-1)^2$的差距只会越来越大,这些在一万以内无法用平方差表示的数,一万以上的数的平方差更表示不了,所以基本可以确定这些就是答案要排除的数了。可以看到,这些数按顺序排成数列,是以2为首项,4为公差的等差数列,那么我们只需判断$a$到$b$的范围内有多少个数字不在这个数列当中。

  第二晚——写暴力。无疑有$O(1)$的算法,还不难,但是本蒟蒻凑了好久都凑不出来,留坑到高考以后算了(逃),那就先写个$O(n)$的暴力把这题A了再说吧——

 #include<cstdio>

 int main()
{
int a,b;
scanf("%d%d",&a,&b);
int ans=;
for(int i=a;i<=b;i++)//水平下降的标志
{
if((i-)%) ans++;
}
printf("%d",ans);
return ;
}

  至于证明,感觉可以用数列$a_n=n^2$的差分数列为$b_n=2n+1$来证,答案的意思就是,$[a,b]$内有多少个数字能表示成$b_n$的一段区间和,然后……留坑到高考以后吧

洛谷 P1348 Couple number的更多相关文章

  1. 洛谷——P1348 Couple number

    P1348 Couple number 题目描述 任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number.你的工作就是判断一个数N是不是Couple ...

  2. 洛谷 CF804B Minimum number of steps

    嗯... 题目链接:https://www.luogu.org/problemnew/show/CF804B 这道题没有什么技巧,只是一道找规律的题. 首先看到“ab”可以换成“bba”,所以首先要确 ...

  3. 洛谷2583 地铁间谍 (UVa1025A Spy in the Metro)

    洛谷2583 地铁间谍(UVa1025A Spy in the Metro) 本题地址:http://www.luogu.org/problem/show?pid=2583 题目描述 特工玛利亚被送到 ...

  4. 洛谷P2891 Dining P1402 酒店之王【类二分图匹配】题解+代码

    洛谷P2891 Dining P1402 酒店之王[类二分图匹配]题解+代码 酒店之王 题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的 ...

  5. 洛谷 P1596 [USACO10OCT]湖计数Lake Counting

    题目链接 https://www.luogu.org/problemnew/show/P1596 题目描述 Due to recent rains, water has pooled in vario ...

  6. 洛谷P2982 [USACO10FEB]慢下来Slowing down(线段树 DFS序 区间增减 单点查询)

    To 洛谷.2982 慢下来Slowing down 题目描述 Every day each of Farmer John's N (1 <= N <= 100,000) cows con ...

  7. 洛谷 P4609: [FJOI2016] 建筑师

    本省省选题是需要做的. 题目传送门:洛谷P4609. 题意简述: 求有多少个 \(1\) 到 \(N\) 的排列,满足比之前的所有数都大的数正好有 \(A\) 个,比之后的所有数都大的数正好有 \(B ...

  8. 一个洛谷Material化的Stylish美化主题

    Luogu Argon Design 新主题 Luogu Argon Design 目前已经取代了 Luogu Material,但这并不代表 Luogu Material 会停止更新,在 Luogu ...

  9. 洛谷 1938 [USACO09NOV]找工就业Job Hunt

    洛谷 1938  [USACO09NOV]找工就业Job Hunt 题目描述 Bessie is running out of money and is searching for jobs. Far ...

随机推荐

  1. Access restriction:The type JPEGCodec is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar 报错

    报错: Access restriction:The type JPEGCodec is not accessible due to restriction on required library C ...

  2. [Swift通天遁地]三、手势与图表-(10)创建包含圆点、方形、三角形图标的散点图表

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. maven+ssm+oracle实现简单的增删改查

    首先看一下项目结构 第一步先导入jar包 pom.xml <properties> <spring.version>4.3.18.RELEASE</spring.vers ...

  4. DB2锁表或超时解决方案

    DB2锁表或超时 一.场景 对数据表进行更新(查询没问题),错误提示如下: SQLCODE=-911, SQLSTATE=40001, DRIVER=3.63.75SQL0911N The curre ...

  5. jsp之servlet模板问题

    如果你在web项目下创建一个Servlet类,那么它会自带很多东西,比如有很多的注释,还有很多out.println()语句等.可能这些东西都不是你需要,这样看起来就会比较的令人不爽.下面的话就教大家 ...

  6. Leetcode0006--ZigZag Conversion

    [转载请注明]https://www.cnblogs.com/igoslly/p/9017638.html 来看一下题目: The string "PAYPALISHIRING" ...

  7. ajax 实现输入提示效果

    网站主页 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  8. html5——过渡

    transition:1.开始状态   2.终止状态    3.过渡属性 transition: width 2s, background-color 2s;//属性,时间 transition: a ...

  9. python调用java API

    JPype documentation JPype is an effort to allow python programs full access to java class libraries. ...

  10. Kafka 入门和 Spring Boot 集成

    目录 Kafka 入门和 Spring Boot 集成 标签:博客 概述 应用场景 基本概念 基本结构 和Spring Boot 集成 集成概述 集成环境 kafka 环境搭建 Spring Boot ...