题目描述

有一个无穷序列如下:

110100100010000100000…

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

输入输出格式

输入格式:

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

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

输出格式:

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

输入输出样例

输入样例#1: 复制

4
3
14
7
6
输出样例#1: 复制

0
0
1
0

说明

对于100%的数据有N≤1500000,Ai≤10^9

思路:前缀和+二分。

#include<map>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
map<int,bool>ma;
int n,x,sum=;
int main(){
scanf("%d",&n);
for(int i=;i;i++){
ma[sum]=,sum+=i;
if(sum>) break;
}
while(n--){
scanf("%d",&x);
if(ma[x]) printf("1\n");
else printf("0\n");
}
}

STL TLE 90分

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int ma[];
int l,r,mid;
int n,x,sum=;
int main(){
scanf("%d",&n);
ma[]=;
for(int i=;i<=;i++)
ma[i]=ma[i-]+i-;
while(n--){
scanf("%d",&x);
l=;r=;int flag=;
for(int i=;i<=;i++){
mid=(l+r)/;
if(ma[mid]<x) l=mid+;
else if(ma[mid]>x) r=mid-;
else if(ma[mid]==x){ flag=;break; }
}
if(flag) printf("1\n");
else printf("0\n");
}
}

最新文章

  1. 介绍几个好用的vs插件
  2. C# 6.0 Feature list
  3. 配置Hadoop开发环境(Eclipse)
  4. 初中数学题归纳w
  5. CentOS6.5 MySQL 配置设置总结笔记
  6. php 利用第三方软件进行网页快照
  7. tomcat支持php
  8. jQuery框架-2.jQuery操作DOM节点与jQuery.ajax方法
  9. 利用搜狐新闻语料库训练100维的word2vec——使用python中的gensim模块
  10. POJ1113 Wall【凸包】
  11. Python学习笔记第五周
  12. bug生命周期和bug状态处理
  13. 洛谷2014选课(树型dp)
  14. 《ASP.NET MVC 5 破境之道》:概述
  15. [AHOI2009]最小割
  16. eclipse - 新建jsp页面默认模板设置
  17. Tomcat 总体结构
  18. Angular2 直接给元素指定超链接打开会带有 `unsafe` 字样导致数据不能加载
  19. Elasticsearch NEST使用指南:映射和分析
  20. 数据库SQL归纳(三)

热门文章

  1. thinkphp里面的or查询
  2. rem的解决方案
  3. css3 边框阴影效果
  4. Ubuntu16.04 “有线未托管”有线网络不可用问题解决
  5. javaScript学习之正则表达式初探
  6. 【玲珑杯 round#18 B】图论你先敲完模板
  7. thinkphp3.2.3 隐藏url上home模块以及index.php文件
  8. HDU 5384 Danganronpa (AC自己主动机模板题)
  9. Use PSO to find minimum in OpenCASCADE
  10. Android学习笔记进阶18 之画图并保存图片到本地