洛谷 P1795 无穷的序列_NOI导刊2010提高(05)
2024-08-26 22:57:36
题目描述
有一个无穷序列如下:
110100100010000100000…
请你找出这个无穷序列中指定位置上的数字
输入输出格式
输入格式:
第一行一个正整数N,表示询问次数;
接下来的N行每行一个正整数Ai,Ai表示在序列中的位置。
输出格式:
N行,每行为0或l,表示序列第Ai位上的数字。
输入输出样例
说明
对于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");
}
}
最新文章
- 介绍几个好用的vs插件
- C# 6.0 Feature list
- 配置Hadoop开发环境(Eclipse)
- 初中数学题归纳w
- CentOS6.5 MySQL 配置设置总结笔记
- php 利用第三方软件进行网页快照
- tomcat支持php
- jQuery框架-2.jQuery操作DOM节点与jQuery.ajax方法
- 利用搜狐新闻语料库训练100维的word2vec——使用python中的gensim模块
- POJ1113 Wall【凸包】
- Python学习笔记第五周
- bug生命周期和bug状态处理
- 洛谷2014选课(树型dp)
- 《ASP.NET MVC 5 破境之道》:概述
- [AHOI2009]最小割
- eclipse - 新建jsp页面默认模板设置
- Tomcat 总体结构
- Angular2 直接给元素指定超链接打开会带有 `unsafe` 字样导致数据不能加载
- Elasticsearch NEST使用指南:映射和分析
- 数据库SQL归纳(三)
热门文章
- thinkphp里面的or查询
- rem的解决方案
- css3 边框阴影效果
- Ubuntu16.04 “有线未托管”有线网络不可用问题解决
- javaScript学习之正则表达式初探
- 【玲珑杯 round#18 B】图论你先敲完模板
- thinkphp3.2.3 隐藏url上home模块以及index.php文件
- HDU 5384 Danganronpa (AC自己主动机模板题)
- Use PSO to find minimum in OpenCASCADE
- Android学习笔记进阶18 之画图并保存图片到本地