题目名称 1128. [NOIP 2010冲刺五]无穷的序列
输入输出 unlessseq.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarMakazeu 于2012-10-09加入
开放分组 全部用户
提交状态
分类标签
数学 分治
分享题解
通过:133, 提交:279, 通过率:47.67%
Gravatarnew ioer 100 0.112 s 15.55 MiB C++
GravatarZWOI_专业维修评测机 100 0.113 s 15.55 MiB C++
GravatarHzoi_chairman 100 0.208 s 0.31 MiB C++
Gravatar甘罗 100 0.210 s 0.29 MiB C++
Gravatarsudv 100 0.218 s 1.72 MiB C++
GravatarHzoi_chairman 100 0.223 s 0.28 MiB C++
Gravatarhorizon<< 100 0.225 s 0.31 MiB C++
GravatarMoonlight ヾ 100 0.232 s 0.31 MiB C++
Gravatar金身人面兽 100 0.239 s 0.28 MiB C++
GravatarSunshine ヾ 100 0.239 s 0.31 MiB C++
本题关联比赛
2016-10-11 4 syz
防止浮躁的小练习v0.3
关于 无穷的序列 的近10条评论(全部评论)
GravatarHzoi_Go灬Fire
2016-10-11 21:30 17楼
一看这是T3就没去想公式然后给当莫队写了。。。(竟然有90...
Gravatarsxysxy
2016-10-11 21:28 16楼
从此更加相信开了O2的STL
GravatarMagic_Sheep
2016-10-11 21:02 15楼
因为1出现的位置为 1 2 4 7 11...
很明显的可以看出位置的通项为 n*(n-1)/2 + 1;
那么假设一个位置 上的数为t
则 n*(n-1)/2 + 1 = t;
同乘 2
n*(n-1)+2 = n^2 - n + 2 = 2t
( n - 1/2 )^2 = 2t - 7/4
同乘 4
(2n-1)^2 = 8t-7
所以只用判断8t-7是否为平方数23333!
Gravatar安呐一条小咸鱼。
2016-10-11 21:01 14楼
公式如下:
Pascal语言核心代码
if sqr(trunc(sqrt(ai*8-7)))=ai*8-7 then writeln('1') else writeln('0');
C++的,这句话意思就是如果ai*8-7是一个完全平方数的话那么输出1,否则输出0
GravatarFoolMike
2014-11-30 21:34 13楼
回复 @柚子冰 :
尽管数组开得太大导致IDE崩溃无法编译,我还是过了
Gravatar乌龙猹
2014-11-06 15:58 12楼
开bool型爆不了yooooooo
Gravatar水中音
2014-11-06 15:39 11楼
回复 @传奇 :
炫迈........
Gravatarsafhsdajkfhsad
2014-11-06 15:36 10楼
为什么我的程序超时?到1秒了还停不下来
Gravatar传奇
2014-11-06 15:35 9楼
scanf比cin快很多啊。。
即使关闭了和stdio的同步也是一样
GravatarHouJikan
2014-09-26 16:21 8楼

1128. [NOIP 2010冲刺五]无穷的序列

★☆   输入文件:unlessseq.in   输出文件:unlessseq.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

有一个无穷序列如下:

1101001000100001000001000000…

请你找出这个无穷序列中指定位置上的数字

【输入格式】

第一行一个正整数$N$,表示询问次数;

接下来的$N$行每行一个正整数$Ai$,$Ai$表示在序列中的位置。

【输出格式】

$N$行,每行为0或l,表示序列第$Ai$位上的数字。

【样例输入】

4
3
14
7
6

【样例输出】

0
0
1
0

【提示】

对于100%的数据有$N\leq 1500000,Ai\leq 10^9$。

【来源】

冲刺NOIP2010模拟试题与解析(五)(提高组复赛)