题目名称 | 1128. [NOIP 2010冲刺五]无穷的序列 |
---|---|
输入输出 | unlessseq.in/out |
难度等级 | ★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | Makazeu 于2012-10-09加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:133, 提交:279, 通过率:47.67% | ||||
new ioer | 100 | 0.112 s | 15.55 MiB | C++ |
ZWOI_专业维修评测机 | 100 | 0.113 s | 15.55 MiB | C++ |
Hzoi_chairman | 100 | 0.208 s | 0.31 MiB | C++ |
甘罗 | 100 | 0.210 s | 0.29 MiB | C++ |
sudv | 100 | 0.218 s | 1.72 MiB | C++ |
Hzoi_chairman | 100 | 0.223 s | 0.28 MiB | C++ |
horizon<< | 100 | 0.225 s | 0.31 MiB | C++ |
Moonlight ヾ | 100 | 0.232 s | 0.31 MiB | C++ |
金身人面兽 | 100 | 0.239 s | 0.28 MiB | C++ |
Sunshine ヾ | 100 | 0.239 s | 0.31 MiB | C++ |
本题关联比赛 | |||
2016-10-11 4 syz | |||
防止浮躁的小练习v0.3 |
关于 无穷的序列 的近10条评论(全部评论) | ||||
---|---|---|---|---|
| ||||
一看这是T3就没去想公式然后给当莫队写了。。。(竟然有90...
sxysxy
2016-10-11 21:28
16楼
| ||||
从此更加相信开了O2的STL
| ||||
因为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! | ||||
公式如下:
Pascal语言核心代码 if sqr(trunc(sqrt(ai*8-7)))=ai*8-7 then writeln('1') else writeln('0'); C++的,这句话意思就是如果ai*8-7是一个完全平方数的话那么输出1,否则输出0 | ||||
回复 @柚子冰 :
尽管数组开得太大导致IDE崩溃无法编译,我还是过了 | ||||
开bool型爆不了yooooooo
| ||||
回复 @传奇 :
炫迈........
safhsdajkfhsad
2014-11-06 15:36
10楼
| ||||
为什么我的程序超时?到1秒了还停不下来
传奇
2014-11-06 15:35
9楼
| ||||
scanf比cin快很多啊。。
即使关闭了和stdio的同步也是一样 |
有一个无穷序列如下:
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模拟试题与解析(五)(提高组复赛)