日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

洛谷 P1795 无穷的序列_NOI导刊2010提高(05)

發(fā)布時間:2023/12/1 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷 P1795 无穷的序列_NOI导刊2010提高(05) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

P1795 無窮的序列_NOI導(dǎo)刊2010提高(05)

題目描述

有一個無窮序列如下:

110100100010000100000…

請你找出這個無窮序列中指定位置上的數(shù)字

輸入輸出格式

輸入格式:

?

第一行一個正整數(shù)N,表示詢問次數(shù);

接下來的N行每行一個正整數(shù)Ai,Ai表示在序列中的位置。

?

輸出格式:

?

N行,每行為0或l,表示序列第Ai位上的數(shù)字。

?

輸入輸出樣例

輸入樣例#1:?復(fù)制 4 3 14 7 6 輸出樣例#1:?復(fù)制 0 0 1 0

說明

對于100%的數(shù)據(jù)有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=1; int main(){scanf("%d",&n);for(int i=1;i;i++){ma[sum]=1,sum+=i;if(sum>1000000000) 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[44722]; int l,r,mid; int n,x,sum=1; int main(){scanf("%d",&n);ma[1]=1;for(int i=2;i<=44721;i++)ma[i]=ma[i-1]+i-1;while(n--){scanf("%d",&x);l=1;r=44721;int flag=0;for(int i=1;i<=32;i++){mid=(l+r)/2;if(ma[mid]<x) l=mid+1;else if(ma[mid]>x) r=mid-1;else if(ma[mid]==x){ flag=1;break; }}if(flag) printf("1\n");else printf("0\n");} }

?

轉(zhuǎn)載于:https://www.cnblogs.com/cangT-Tlan/p/7892264.html

總結(jié)

以上是生活随笔為你收集整理的洛谷 P1795 无穷的序列_NOI导刊2010提高(05)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。