1893. [国家集训队2011]等差子序列(bitset)
★★ 输入文件:nt2011_sequence.in 输出文件:nt2011_sequence.out 简单对比
时间限制:0.3 s 内存限制:512 MB
【试题来源】
【问题描述】
【输入格式】
下接T组数据,每组第一行一个整数N,每组第二行为一个1到N的排列,数字两两之间用空格隔开。
【输出格式】
【样例输入】
3
1 3 2
3
3 2 1
【样例输出】
Y
【数据说明】
对于30%的数据,N<=1000
对于100%的数据,N<=10000,T<=7
对于100%的数据,时间限制为0.3s。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<bitset>
using namespace std;
using std::bitset;
const int MAXN=;
bitset<MAXN>bit;
int a;
inline void read(int &n)
{
char c='+';int x=;bool flag=;
while(c<''||c>''){c=getchar();if(c=='-')flag=;}
while(c>=''&&c<=''){x=x*+(c-);c=getchar();}
n=flag==?-x:x;
}
int main()
{
freopen("nt2011_sequence.in","r",stdin);
freopen("nt2011_sequence.out","w",stdout);
int T;
read(T);
while(T--)
{
bit.reset();
int n;
read(n);
bool flag=;
for(int i=;i<=n;i++)
{
read(a);
if(flag)continue;
bit.set(a);
for(int j=a-;j!=;j--)
{
int k=a*-j;
if(k>n)continue;
if(bit.test(j)^bit.test(k))
{
flag=;
break;
}
}
}
flag==?printf("Y\n"):printf("N\n");
}
return ;
}
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#include<bitset>
using namespace std;
const int SIZEN=;
int N;
int A[SIZEN];
bitset<SIZEN> pre,suf;
bool test(void){//只能检测递增的
pre.reset();suf.reset();
for(int i=;i<=N;i++) suf[i]=;
static bitset<SIZEN> tmp;
for(int i=;i<=N;i++){
suf[A[i]]=;
if(i>) pre[N+-A[i-]]=;
tmp=(suf>>A[i])&(pre>>(N+-A[i]));
if(tmp.any()) return true;
}
return false;
}
void work(void){
scanf("%d",&N);
for(int i=;i<=N;i++) scanf("%d",&A[i]);
if(test()){
printf("Y\n");
return;
}
reverse(A+,A++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 ;
}
一份可以A的bool
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<bitset>
using namespace std;
using std::bitset;
const int MAXN=;
bool bit[MAXN];
int a;
inline void read(int &n)
{
char c='+';int x=;bool flag=;
while(c<''||c>''){c=getchar();if(c=='-')flag=;}
while(c>=''&&c<=''){x=x*+(c-);c=getchar();}
n=flag==?-x:x;
}
int main()
{
freopen("nt2011_sequence.in","r",stdin);
freopen("nt2011_sequence.out","w",stdout);
int T;
read(T);
while(T--)
{
memset(bit,,sizeof(bit));
//bit.reset();
int n;
read(n);
bool flag=;
for(int i=;i<=n;i++)
{
read(a);
if(flag)continue;
bit[a]=;
for(int j=a-;j!=;j--)
{
int k=a*-j;
if(k>n)continue;
if(bit[j]^bit[k])
{
flag=;
break;
}
}
}
flag==?printf("Y\n"):printf("N\n");
}
return ;
}
1893. [国家集训队2011]等差子序列(bitset)的更多相关文章
- AC日记——[国家集训队2011]旅游(宋方睿) cogs 1867
[国家集训队2011]旅游(宋方睿) 思路: 树链剖分,边权转点权: 线段树维护三个东西,sum,max,min: 当一个区间变成相反数时,sum=-sum,max=-min,min=-max: 来, ...
- cogs 1901. [国家集训队2011]数颜色
Cogs 1901. [国家集训队2011]数颜色 ★★★ 输入文件:nt2011_color.in 输出文件:nt2011_color.out 简单对比时间限制:0.6 s 内存限制 ...
- BZOJ 2150 cogs 1861 [国家集训队2011]部落战争
题目描述 lanzerb的部落在A国的上部,他们不满天寒地冻的环境,于是准备向A国的下部征战来获得更大的领土. A国是一个M*N的矩阵,其中某些地方是城镇,某些地方是高山深涧无人居住.lanzerb把 ...
- happiness[国家集训队2011(吴确)]
[试题来源] 2011中国国家集训队命题答辩 [问题描述] 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科 ...
- COGS1882 [国家集训队2011]单选错位
★ 输入文件:nt2011_exp.in 输出文件:nt2011_exp.out 简单对比时间限制:1 s 内存限制:512 MB [试题来源] 2011中国国家集训队命题答辩 [问题 ...
- bzoj2144 【国家集训队2011】跳跳棋
Description 跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子.我们用跳跳棋来做一个简单的游戏:棋盘上有3颗棋子,分别在a,b,c这三个位置.我们要通过最少的跳动把他 ...
- COGS.1901.[模板][国家集训队2011]数颜色(带修改莫队)
题目链接 COGS BZOJ2120 洛谷P1903 /* Add和Subd函数中的vis不能直接设为=1或=0 比如 l=1,r=0 -> l=3,r=5 时,[1,5]的vis标记全都是1 ...
- COGS1871 [国家集训队2011]排队(魏铭)
bzoj:http://www.lydsy.com/JudgeOnline/problem.php?id=2141 cogs:http://cogs.pro:8080/cogs/problem/pro ...
- [国家集训队2011]happiness
Description 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友 ...
随机推荐
- java基础之get和post的差别
上篇博文讲到HTTP协议,本篇介绍HTTP请求方法中get和post的差别: 首先,最明显的一点表象上的差别:GET 方式.将请求參数附加在url之后,POST将请求參数附加在请求头的最后 以下具体说 ...
- hpuoj--1122-- HH的随机数(数据去重)
1122: HH的随机数 时间限制: 1 Sec 内存限制: 128 MB 提交: 476 解决: 75 [提交][状态][讨论版] 题目描述 HH想在学校中请一些同学一起做一项问卷调查,为了实验 ...
- cookie、sessionStorage和localStorage
title: cookie.sessionStorage和localStorage toc: false date: 2018-09-25 16:49:57 cookie 由于HTTP协议是无状态的, ...
- 在Eclipse里连接Tomcat部署到项目(maven项目和web项目都适用)
不多说,直接上干货! 前提, Tomcat *的下载(绿色版和安装版都适用) Tomcat *的安装和运行(绿色版和安装版都适用) Tomcat的配置文件详解 我这里以,manven项目为例,当然,w ...
- SpringBoot(四) Web开发 --- Thymeleaf、JSP
Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依 ...
- PHP mysql_fetch_array得不到数据
好久没写PHP了...为了数据库课设开始了PHP速成之旅... 光是简单的注册功能就坑了我好几个小时,不过万事开头难嘛...之后应该会快起来的. 先说一下昨天遇到的小坑, 我的表单是这么写的 < ...
- shell-1.shell概述、2.shell脚本执行方式
目录
- web监控脚本
#!/bin/bashvalues=`curl -H 'Cache-Control: no-cache' -k -s -m 10 --connect-timeout 10 "$1" ...
- vuecli的使用之项目中的文件
cli创建的项目截图 node_moudule :下载的依赖包的存储位置. public :html的地方??? src :写代码的地方 man.js :入口文件 .browserslistrc :浏 ...
- [SCOI2016]美味(可持久化线段树)
可持久化trie树?好像和可持久化权值线段树差不多.. 如果这题没有那个\(x[i]\)这题就是一个裸的可持久化trie树. 仔细想想,多了这个\(x[i]\)之后有什么影响? 就是我们查询区间的时候 ...