ZOJ3629 Treasure Hunt IV(找到规律,按公式)
Treasure Hunt IV
Time Limit: 2 Seconds Memory Limit: 65536 KB
Alice is exploring the wonderland, suddenly she fell into a hole, when she woke up, she found there are b - a + 1 treasures labled a from b in front of her.
Alice was very excited but unfortunately not all of the treasures are real, some are fake.
Now we know a treasure labled n is real if and only if [n/1] + [n/2] + ... + [n/k] + ... is even.
Now given 2 integers a and b, your job is to calculate how many real treasures are there.
Input
The input contains multiple cases, each case contains two integers a and b (0 <= a <= b <= 263-1) seperated by a single space. Proceed to the end of file.
Output
Output the total number of real treasure.
Sample Input
0 2
0 10
Sample Output
1
6
Author: QU, Zhe
Contest: ZOJ Monthly, July 2012
。。
。然后非常喜悦。打了100表,发现真的是这个规律。就像哥伦布发现新大陆一样。于是開始默默地推公式。
。。
然后还是wa了。就在看自己公式哪里推错了,,,,实际上是一个地方爆了long long,唉,做题不慎重啊。
。。。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std; int main()
{
unsigned long long a,b;
unsigned long long p1,p2; //printf("%lld\n",(1<<63)-1); unsigned long long ans,t1,t2;
while(cin>>a>>b)
{
a++,b++;
p1=sqrt(a+0.5);
p2=sqrt(b+0.5); if(p1==p2) //假设他们落到了同一个地方
{
if(p1&1)
{
if(p1*p1==a)
printf("1\n");
else
printf("0\n");
}
else
{
if(p1*p1==a)
cout<<b-a<<endl;
else
cout<<b-a+1<<endl;
}
continue;
} ans=0;
if(p1&1) //ok
{
if(p1*p1==a)
ans+=1;
t1=p1+2;
}
else
{
if(p1*p1==a)
t1=p1+1;
else
{
ans+=(p1+1)*(p1+1)-a+1; //就是这个地方爆的long long啊,巨坑。 。
t1=p1+3;
}
} if(p2&1)
{
t2=p2;
}
else
{
ans+=b-p2*p2;
t2=p2-1;
} t1=(t1+1)/2,t2=(t2+1)/2,t1--; //以下是用公式计算中间的0,个数为1,5,9,13,
//通项为4n-3,求和公式为(2n-1)*n
if(t2>=t1)
ans=ans+(2*t2-1)*t2-(2*t1-1)*t1; cout<<ans<<endl;
}
return 0;
} /*
0 11538571374624767
5769285672726615
123 321
87
*/
版权声明:本文博客原创文章,博客,未经同意,不得转载。
ZOJ3629 Treasure Hunt IV(找到规律,按公式)的更多相关文章
- ZOJ3629 Treasure Hunt IV(找规律,推公式)
Treasure Hunt IV Time Limit: 2 Seconds Memory Limit: 65536 KB Alice is exploring the wonderland ...
- zoj 3629 Treasure Hunt IV 打表找规律
H - Treasure Hunt IV Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu ...
- zoj Treasure Hunt IV
Treasure Hunt IV Time Limit: 2 Seconds Memory Limit: 65536 KB Alice is exploring the wonderland ...
- POJ 1066 Treasure Hunt(线段相交判断)
Treasure Hunt Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4797 Accepted: 1998 Des ...
- POJ 1066 Treasure Hunt(相交线段&&更改)
Treasure Hunt 大意:在一个矩形区域内.有n条线段,线段的端点是在矩形边上的,有一个特殊点,问从这个点到矩形边的最少经过的线段条数最少的书目,穿越仅仅能在中点穿越. 思路:须要巧妙的转换一 ...
- Treasure Hunt
Treasure Hunt time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- poj1066 Treasure Hunt【计算几何】
Treasure Hunt Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8192 Accepted: 3376 Des ...
- ZOJ 3626 Treasure Hunt I 树上DP
E - Treasure Hunt I Time Limit:2000MS Memory Limit:65536KB Description Akiba is a dangerous country ...
- 湖南大学ACM程序设计新生杯大赛(同步赛)I - Piglet treasure hunt Series 1
题目描述 Once there was a pig, which was very fond of treasure hunting. The treasure hunt is risky, and ...
随机推荐
- 移动开发平台-应用之星app制作教程
目前在AppStore.GooglePlay等应用商店里已经有以百万计的Apps,应用程序使移动互联网空间得以无限拓展.很多人梦想着AngryBirds式的奇迹在自己身上发生,他们渴望自己开发的应用程 ...
- CSS selectors for Selenium with example,selenium IDE
CSS selectors for Selenium with example http://seleniumeasy.com/selenium-tutorials/css-selectors-tut ...
- JAVA取整以及四舍五入
JAVA取整以及四舍五入 import java.math.BigDecimal; //引入这个包 public class Test { public static void main(String ...
- WPF界面设计技巧(10)-样式的继承
原文:WPF界面设计技巧(10)-样式的继承 PS:现在我的MailMail完工了,进入内测阶段了,终于可以腾出手来写写教程了哈,关于MailMail的介绍及内测程序索取:http://www.cnb ...
- iPhone 6 首发无大陆,DevStore要去香港吗?
iPhone 6 正式公布,微博已经被刷屏.iPhone 6 的各种信息都已经明了,先不说什么配置,什么设计,就说一点--iPhone6 首发地方是没有中国大陆的.这让我想起来最近參加的源代码大赛,这 ...
- HTML4和HTML5之间10主要差异
HTML5恐怕要让部分网页工作者抓狂了,HTML5将採用标准的XML语法格式,这对代码的规范要求很高. HTML5是最新的HTML标准.尽管还在制定.但或迟或早,全部的web程序猿都会发现须要使用到这 ...
- Bitmap
Bitmap篇 在前一篇中介绍了使用API做Distinct Count,但是计算精确结果的API都较慢,那有没有能更快的优化解决方案呢? 1. Bitmap介绍 <编程珠玑>上是这样 ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block 企业库数据库访问模块通过抽象工厂模式,允许用户 ...
- 最简单的历史Hibernate获得短暂的
其实Hibernate本身就是一个单独的帧,不管它不需要web server或application server支持. 然而,最Hibernate简介已经加入了非常多的非Hibernate事,例: ...
- 你怎么知道你的网站K
最近有朋友问我关于网站K问题,你怎么知道被提及哪些网站K方面.总结了六个方法后,,至于有没有其他办法.欢迎和我交流讨论. 检测方法是网站的搜索引擎惩罚: 首先要明白的是.搜索引擎不惩罚easy侦查 ...