# 1893. [国家集训队2011]等差子序列(bitset)

★★   输入文件：`nt2011_sequence.in`   输出文件：`nt2011_sequence.out` 简单对比 时间限制：0.3 s   内存限制：512 MB

2011中国国家集训队命题答辩

### 【样例输入】

2 3 1 3 2 3 3 2 1

N Y

### 【数据说明】

```#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<bitset>
using namespace std;
using std::bitset;
const int MAXN=10001;
bitset<MAXN>bit;
int a;
{
char c='+';int x=0;bool flag=0;
while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
while(c>='0'&&c<='9'){x=x*10+(c-48);c=getchar();}
n=flag==1?-x:x;
}
int main()
{
freopen("nt2011_sequence.in","r",stdin);
freopen("nt2011_sequence.out","w",stdout);
int T;
while(T--)
{
bit.reset();
int n;
bool flag=0;
for(int i=1;i<=n;i++)
{
if(flag)continue;
bit.set(a);
for(int j=a-1;j!=0;j--)
{
int k=a*2-j;
if(k>n)continue;
if(bit.test(j)^bit.test(k))
{
flag=1;
break;
}
}
}
flag==1?printf("Y\n"):printf("N\n");
}
return 0;
}```

```#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#include<bitset>
using namespace std;
const int SIZEN=10010;
int N;
int A[SIZEN];
bitset<SIZEN> pre,suf;
bool test(void){//只能检测递增的
pre.reset();suf.reset();
for(int i=1;i<=N;i++) suf[i]=1;
static bitset<SIZEN> tmp;
for(int i=1;i<=N;i++){
suf[A[i]]=0;
if(i>1) pre[N+1-A[i-1]]=1;
tmp=(suf>>A[i])&(pre>>(N+1-A[i]));
if(tmp.any()) return true;
}
return false;
}
void work(void){
scanf("%d",&N);
for(int i=1;i<=N;i++) scanf("%d",&A[i]);
if(test()){
printf("Y\n");
return;
}
reverse(A+1,A+1+N);
if(test()){
printf("Y\n");
return;
}
printf("N\n");
}
int main(){
freopen("nt2011_sequence.in","r",stdin);
freopen("nt2011_sequence.out","w",stdout);
int T;
scanf("%d",&T);
while(T--) work();
return 0;
}```

```#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<bitset>
using namespace std;
using std::bitset;
const int MAXN=10001;
bool bit[MAXN];
int a;
{
char c='+';int x=0;bool flag=0;
while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
while(c>='0'&&c<='9'){x=x*10+(c-48);c=getchar();}
n=flag==1?-x:x;
}
int main()
{
freopen("nt2011_sequence.in","r",stdin);
freopen("nt2011_sequence.out","w",stdout);
int T;
while(T--)
{
memset(bit,0,sizeof(bit));
//bit.reset();
int n;
bool flag=0;
for(int i=1;i<=n;i++)
{
if(flag)continue;
bit[a]=1;
for(int j=a-1;j!=0;j--)
{
int k=a*2-j;
if(k>n)continue;
if(bit[j]^bit[k])
{
flag=1;
break;
}
}
}
flag==1?printf("Y\n"):printf("N\n");
}
return 0;
}```

1811 篇文章120 人订阅

0 条评论

## 相关文章

### Gym 100952C&&2015 HIAST Collegiate Programming Contest C. Palindrome Again !!【字符串，模拟】

C. Palindrome Again !! time limit per test：1 second memory limit per test：64 meg...

2683

4084

### BZOJ 3450: Tyvj1952 Easy

Description 某一天WJMZBMR在打osu~~~但是他太弱逼了，有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点击要做，成功了就是o...

2944

3665

### 1225 八数码难题

1225 八数码难题  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果 题目描述 Descri...

2864

### CountVectorizer

CountVectorizer 关于文本特征提取，前面一篇文章TF-IDF介绍了HashingTF，本文将再介绍一种Spark MLlib的API CountV...

6447

### 7828:最大公约数与最小公倍数

7828:最大公约数与最小公倍数 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 两个正整数的最大公约数是G，最小公倍数是...

4638

### SQL, PL/SQL 之NUMBER数据类型

NUMBER数据类型在Oracle中使用的较为广泛，可以存储零值，正负数，以及定长数，对于这个数据类型有个几个概念要搞清，否则容易搞混，下面给出具体描述...

952

973

### 1082 与7无关的数(思维题,巨坑)

1082 与7无关的数 题目来源：                 有道难题 基准时间限制：1 秒 空间限制：131072 KB 分值: 5        ...

3437