Oier们的幸运数字
题目描述
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∑Bf(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<=T<=106, 1<=Ai<=Bi<=10180<=T<=10^6,\ 1<=A_i<=B_i<=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们的幸运数字的更多相关文章
- [SCOI2016]幸运数字 树链剖分,线性基
[SCOI2016]幸运数字 LG传送门 为了快乐,我们用树剖写这题. 强行树剖,线段树上每个结点维护一个线性基,每次查询暴力合并. 瞎分析一波复杂度:树剖两点之间\(\log n\)条重链,每条重链 ...
- BZOJ 1853 【Scoi2010】 幸运数字
Description 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认 为,于是他定义自己的"幸运号码"是十进制表示中只包含数字6和8的那些号码,比如68,666,8 ...
- BZOJ 4568 幸运数字
题目传送门 4568: [Scoi2016]幸运数字 Time Limit: 60 Sec Memory Limit: 256 MB Description A 国共有 n 座城市,这些城市由 n-1 ...
- BZOJ 1853: [Scoi2010]幸运数字
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 2117 Solved: 779[Submit][Status] ...
- 【BZOJ-4568】幸运数字 树链剖分 + 线性基合并
4568: [Scoi2016]幸运数字 Time Limit: 60 Sec Memory Limit: 256 MBSubmit: 238 Solved: 113[Submit][Status ...
- 【BZOJ-1853&2393】幸运数字&Cirno的完美算数教室 容斥原理 + 爆搜 + 剪枝
1853: [Scoi2010]幸运数字 Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 1817 Solved: 665[Submit][Status] ...
- BZOJ1853 [Scoi2010]幸运数字
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- 【bzoj1853】 Scoi2010—幸运数字
http://www.lydsy.com/JudgeOnline/problem.php?id=1853 (题目链接) 今天考试考了容斥,结果空知道结论却不会写→_→ 题意 求区间中不含6,8两个数字 ...
- 幸运数字(number)
幸运数字(number) Time Limit:1000ms Memory Limit:64MB [题目描述] LYK最近运气很差,例如在NOIP初赛中仅仅考了90分,刚刚卡进复赛,于是它决定使用 ...
随机推荐
- Nginx限流
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 在当今流量徒增的互联网时代,很多业务场景都会涉及到高并发.这个时候接口进行限流是非常有必要的,而限流是Ngin ...
- 深入理解Three.js中正交摄像机OrthographicCamera
前言 在深入理解Three.js中透视投影照相机PerspectiveCamera那篇文章中讲解了透视投影摄像机的工作原理以及对应一些参数的解答,那篇文章中也说了会单独讲解Three.js中另一种常用 ...
- BOM之window核心模块
Window对象包含以下五大核心:document,screen,navigator,history,location. 一 document 文档 document包含了浏览器对标准DOM实 ...
- LeetCode 430. Faltten a Multilevel Doubly Linked List
题目链接:LeetCode 430. Faltten a Multilevel Doubly Linked List class Node { public: int val = NULL; Node ...
- Kotlin学习系列(三)
类声明 Kotlin使用class关键字声明类: class Invoice{ } Kotlin类声明基本包括header与body: [<Modifier>] <class> ...
- springboot 使用i18n进行国际化乱码解决
方式1.设置国际化的编码和你使用的编译器(IDEA之类)一致,如编译器为UTF-8则在application配置文件中添加 #i18n spring: messages: encoding: UTF- ...
- Flask基础(09)-->请求勾子函数
什么是请求勾子? 为了让每个视图函数避免编写重复的功能代码,flask提供了通用设施的功能,就是所谓的勾子 那么请求勾子就是,在浏览器请求服务器资源的前后挂载相关的处理函数 请求勾子有什么作用? 作用 ...
- Angular 样式绑定
1. style.propertyName [style.Css属性名] = 'Css属性值变量'/"'css属性值'" // app.component.ts export cl ...
- 激突要塞代码解阵算法+用C++/Python处理代码
激突要塞的代码长度为6的倍数,其中每6个字符代表着一个单位,这六个字符中,第一位代表着单位的种类,后五位则包含着单位角度.X值.Y值的信息. 那么这个第一位究竟代表什么呢?一图以示之. 那么在代码中就 ...
- 防DOS攻击-网络连接法
#!/bin/bash netstat -antup | grep SYN_RECV | awk '{print $5}' |awk -F: '{print $1}'|sort|uniq -c > ...