题目描述

JerryC对数字痴迷到了一种非正常的境界。每天JerryC都有喜欢的一些数字。第 iii 天JerryC就喜欢Ai−BiA_i-B_iAi​−Bi​中的数字。但是他觉得这样并不是很有趣,于是他就定义了一个函数

f(i)=i∗∑j=1i(i mod j)f(i)=i*\sum^{i}_{j=1}(i\ mod\ j)f(i)=i∗j=1∑i​(i mod j)

但是JerryC还是觉得不够有趣,于是她觉得只有满足

∑i=ABf(i)\sum^{B}_{i=A}f(i)i=A∑B​f(i)

为奇数的一天才是她特别高兴的一天。

现在告诉你最近TTT天JerryC喜欢的数的区间,请你猜猜她每一天会不会特别高兴。

解释:

第一个式子就是表示 f(i)f(i)f(i) 等于 iii 乘以 iii 的约数个数。

第二个式子就是求出 [A,B][A, B][A,B] 区间内所有的 f(i)f(i)f(i) 的和。

输入输出格式

输入格式:

第111行一个整数TTT表示有多少天。

第2−(T+1)2-(T+1)2−(T+1)行两个非负整数Ai, BiA_i,\ B_iAi​, Bi​表示每天JerryC喜欢的数的区间。

输出格式:

TTT行。每行为"YesYesYes“或”NoNoNo",表示第 iii 天是不是JerryC特别高兴的一天。

输入输出样例

输入样例:

333

1 101\ 101 10

11 1511\ 1511 15

5 125\ 125 12



#####输出样例:

NoNoNo

NoNoNo

YesYesYes

数据范围

0&lt;=T&lt;=106, 1&lt;=Ai&lt;=Bi&lt;=10180&lt;=T&lt;=10^6,\ 1&lt;=A_i&lt;=B_i&lt;=10^{18}0<=T<=106, 1<=Ai​<=Bi​<=1018

Solution\text{Solution}Solution

我们发现,只有f(c2), cf(c^2),\ cf(c2), c是奇数的情况才能对答案产生贡献。设c=⌈a⌉, d=bc=\lceil\sqrt a\rceil,\ d=\sqrt bc=⌈a​⌉, d=b​。

对于区间[a,b][a,b][a,b],只有[c,d][c,d][c,d]区间长度中的奇数对答案有贡献。我们求出[c,d][c,d][c,d]区间长度便可以求出答案。

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath> #define reg register typedef long long ll; int n,ans;
ll a,b;
ll c,d;
//读入优化
inline ll read(){
ll x=0;char c;
do c=getchar(); while(c<'0'||c>'9');
while(c>='0'&&c<='9')
x=x*10+c-48,c=getchar();
return x;
}
int main(){
scanf("%d",&n);
for(reg int i=1;i<=n;++i){
a=read(),b=read();
c=ceil(sqrt(a)),d=sqrt(b);
if(a==b)//特判
{
printf(c*c==a&&(c&1)?"Yes\n":"No\n");
continue;
}
//如果c是偶数,他对答案不产生贡献
if(!(c&1)) c++;
printf(((d-c)/2+1)&1?"Yes\n":"No\n");
}
}

Oier们的幸运数字的更多相关文章

  1. [SCOI2016]幸运数字 树链剖分,线性基

    [SCOI2016]幸运数字 LG传送门 为了快乐,我们用树剖写这题. 强行树剖,线段树上每个结点维护一个线性基,每次查询暴力合并. 瞎分析一波复杂度:树剖两点之间\(\log n\)条重链,每条重链 ...

  2. BZOJ 1853 【Scoi2010】 幸运数字

    Description 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认 为,于是他定义自己的"幸运号码"是十进制表示中只包含数字6和8的那些号码,比如68,666,8 ...

  3. BZOJ 4568 幸运数字

    题目传送门 4568: [Scoi2016]幸运数字 Time Limit: 60 Sec Memory Limit: 256 MB Description A 国共有 n 座城市,这些城市由 n-1 ...

  4. BZOJ 1853: [Scoi2010]幸运数字

    1853: [Scoi2010]幸运数字 Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 2117  Solved: 779[Submit][Status] ...

  5. 【BZOJ-4568】幸运数字 树链剖分 + 线性基合并

    4568: [Scoi2016]幸运数字 Time Limit: 60 Sec  Memory Limit: 256 MBSubmit: 238  Solved: 113[Submit][Status ...

  6. 【BZOJ-1853&2393】幸运数字&Cirno的完美算数教室 容斥原理 + 爆搜 + 剪枝

    1853: [Scoi2010]幸运数字 Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 1817  Solved: 665[Submit][Status] ...

  7. BZOJ1853 [Scoi2010]幸运数字

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  8. 【bzoj1853】 Scoi2010—幸运数字

    http://www.lydsy.com/JudgeOnline/problem.php?id=1853 (题目链接) 今天考试考了容斥,结果空知道结论却不会写→_→ 题意 求区间中不含6,8两个数字 ...

  9. 幸运数字(number)

    幸运数字(number) Time Limit:1000ms   Memory Limit:64MB [题目描述] LYK最近运气很差,例如在NOIP初赛中仅仅考了90分,刚刚卡进复赛,于是它决定使用 ...

随机推荐

  1. idea解决This file is indented with tabs instead of 4 spaces

    idea上面总是弹出 解决方法: File -> Settings -> Editor -> Code Style -> Java -> Tabs and Indents ...

  2. Python虚拟环境管理工具virtualenvwrapper安装及配置

      1. 安装virtualenv 使用pip install virtualenv安装virtualenv虚拟环境工具 2. 安装virtualenvwrapper a) Linux环境,直接使用p ...

  3. 豆瓣电影TOP250和书籍TOP250爬虫

    豆瓣电影 TOP250 和书籍 TOP250 爬虫 最近开始玩 Python , 学习爬虫相关知识的时候,心血来潮,爬取了豆瓣电影TOP250 和书籍TOP250, 这里记录一下自己玩的过程. 电影 ...

  4. [Full-stack] 一切皆在云上 - AWS

    一元课程:https://edu.51cto.com/center/course/lesson/index?id=181407[非常好] Based on AWS Lambda. 包含:DevOps ...

  5. 第八届蓝桥杯java b组第二题

    标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等.        下图就是一种排法(如有对齐问题,参看p1.png). A       ...

  6. 导出 mysql 数据到 redis

    决定你要导入到 redis 的数据类型 假设我的表 t_user 的结构为 列名 注释 类型 name 名称 varchar idcard 身份证号 varchar phone 手机号 varchar ...

  7. JAVASE知识点总结(四)

    第十七章:内部类和枚举 一.内部类 1.什么是内部类? 2.为什么要有内部类? 3.内部类的种类: 5.实例内部类 6.创建实例内部类 7.实例内部类注意点 8.访问变量原则: 4 9.静态内部类: ...

  8. Android系统开发实务实训

    实训项目 :               Android系统开发实务实训                           项目成品名称:         绝地坦克                 ...

  9. 站内搜索(ELK)之开篇

    因工作需要,近期使用ELK搭建单位内部“站内搜索”,目前已将内部OA系统20余个流程的表单.附件的数据索引到elasticsearch中,包括打印复印流程.声像采集流程.远程文件发送.规章制度.内线电 ...

  10. ps 将图片四角变成圆角

    1.用PS打开一张图片,用矩形选框工具,选出你要保留的的那一部分,“选择→修改→平滑”.在弹出的选框里添入数值,值越大角就越圆. 2.选择“选择→反选”,再按delete删除就ok了.