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 ...
随机推荐
- HDU 2544 最短路 SPFA 邻接表 模板
Problem Description 在每年的校赛里,全部进入决赛的同学都会获得一件非常美丽的t-shirt.可是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以如今他们想 ...
- Learning Cocos2d-x for WP8(3)——文字篇
原文:Learning Cocos2d-x for WP8(3)--文字篇 C#兄弟篇Learning Cocos2d-x for XNA(3)——文字篇 文字,是人类文明的象征. 文字显示,可用字符 ...
- GString及IntelliJIdea中调试Groovy的操作步骤
今天是学习Groovy的第一天,首先我觉得学习任何一种语言都要先弄清楚这种语言的特性,因为只有了解了特性之后学习才能达到好的效果,那么groovy的特点是什么的.我觉得groovy是一种动态语言,动态 ...
- wamp在win7下64位系统memcache/memcached安装教程
折腾了1个多小时,终于搞定.操作系统时64位的,php5.3.13 类似于上一篇的xdebug安装教程~~ memcache和memcached的区别 在自己的新程序中打算全面应用memcached ...
- Linux訪问受限,訪问Linux总是Forbidden
很多其它具体文档:http://download.csdn.net/download/zml_2015/8843061 有些人在依照要求一模一样照做之后,加上了全部的权限.可还是无法訪问,仍然是各种f ...
- C#语音录制
客服小妹是如何泡到手的——C#定时提醒·语音录制·语音播放·文件转录Demo——倾情奉献! 一.需求提出 客服小妹跟我说,每天要统计新加好友数,得先记下昨天的数目,然后查看今天的数目,还要相减,打 ...
- WPF对于xml的简单操作(下)绑定ListView
上个月做好的,电脑给盗了,没及时存在网盘,也及时发到随笔,于是乎悲哉!搞了一个上午终于绑定好了,有时候就是这么眼瞎,Path和XPath全瞎了,摸滚了一个上午,赶紧的随笔跟上先. <ListVi ...
- mysql重装后出现乱码解决办法
查看当前连接系统参数:SHOW VARIABLES LIKE '%char%'; mysql> show variables like 'char%'; +------------------- ...
- Windows 7下一个:该应用程序不能正常启动(0xc0150002)
在新系统中正确安装QQ2010无法执行,同一时候安装的TM2009也无法执行. 相同显示为"应用程序无法正常启动(0xc0150002). 请单击"确定" ...
- hdu3530Subsequence rmq
//使用rmq办,ma[i][j],同i作为一个起点2^j阵列的最大长度值 //启动枚举问最长的子列 //枚举的最大长度2^(j-1)和2^(j)z之间 //然后在该范围内找到 #include< ...