Codeforces round 1100
Div 2 532
- 我对交互一无所知
- 只能寄期望与NOI和省选不出交互吧...
E
这个题,真的是耻辱...
其实非常简单,就是二分+判环...
那么就直接二分答案+拓扑排序即可...
(我居然在考试的时候没一眼秒出来...
(我居然把它跳过去了...
F
(又一次犯了同样的错误.jpg
(这个线性基真的是...
一个非常简单的$\log^2n$做法,直接线段树+线性基合并即可...
然后正解也不难,但是如果一直陷入第一个就真的想不出来.jpg
直接暴力维护后缀基+扫描线即可...
每次支持向线性基中插入即可...
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <queue>
#include <iostream>
#include <bitset>
using namespace std;
#define N 500005
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
struct Mat
{
int a[21],siz;
Mat(){memset(a,0,sizeof(a));siz=0;}
bool insert(int x)
{
if(siz==20)return 0;
for(int i=19;~i;i--)if((x>>i)&1)
if(a[i])x^=a[i];
else {a[i]=x;siz++;return 1;}
return 0;
}
void calc(int &x){for(int i=19;~i;i--)if((!((x>>i)&1))&&a[i])x^=a[i];}
int calc(){int x=0;for(int i=19;~i;i--)if(!((x>>i)&1)&&a[i])x^=a[i];return x;}
}t[N];
int a[N],n,lst[22],ans[N],Q;
struct node{int l,r,idx;}q[N];
inline bool cmp(const node &a,const node &b){return a.r==b.r?a.l<b.l:a.r<b.r;}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
scanf("%d",&Q);
for(int i=1;i<=Q;i++)scanf("%d%d",&q[i].l,&q[i].r),q[i].idx=i;sort(q+1,q+Q+1,cmp);
for(int i=1,k=1;i<=n;i++)
{
if(!lst[0])lst[0]=i;
// printf("%d\n",i);
for(int j=19;j;j--)if(lst[j])
{
if(t[lst[j]].insert(a[i]))
{
if(!lst[j+1])lst[j+1]=lst[j];
// if(lst[j]==3)printf("%d\n",a[i]);
lst[j]++;
while(lst[j]<lst[j-1]&&t[lst[j]].insert(a[i]))
{
// if(lst[j]==3)printf("%d\n",a[i]);
// if(lst[j]==4)printf("%d\n",a[i]);
lst[j]++;
}
if(lst[j]==lst[j-1])lst[j]=0;
}
}
if(t[lst[0]].insert(a[i]))
{
if(!lst[1])lst[1]=lst[0];lst[0]++;
while(lst[0]<=i&&t[lst[0]].insert(a[i]))
{
// if(lst[0]==3)printf("%d\n",a[i]);
// if(lst[0]==4)printf("%d\n",a[i]);
lst[0]++;
}
if(lst[0]==i+1)lst[0]=0;
}
// for(int j=5;j;j--)printf("j=%d lst[j]=%d\n",j,lst[j]);
while(k<=Q&&q[k].r==i)t[q[k].l].calc(ans[q[k].idx]),k++;
}
// printf("%d %d\n",t[4].siz,t[3].siz);
for(int i=1;i<=Q;i++)printf("%d\n",ans[i]);
}
/*
10
32 52 25 0 1 9 8 16 64 16
10
2 7
2 6
6 8
1 1
5 10
5 8
4 10
6 8
2 6
6 10
*/
Codeforces round 1100的更多相关文章
- CodeForces Round
CodeForces Round 199 Div2 完了,这次做扯了,做的时候有点发烧,居然只做出来一道题,差点被绿. My submissions # When Who Problem ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- Codeforces Round #532 (Div. 2) 题解
Codeforces Round #532 (Div. 2) 题目总链接:https://codeforces.com/contest/1100 A. Roman and Browser 题意: 给出 ...
- Codeforces Round #564 (Div. 1)
Codeforces Round #564 (Div. 1) A Nauuo and Cards 首先如果牌库中最后的牌是\(1,2,\cdots, k\),那么就模拟一下能不能每次打出第\(k+i\ ...
- Codeforces Round #721 (Div. 2)A. And Then There Were K(位运算,二进制) B1. Palindrome Game (easy version)(博弈论)
半个月没看cf 手生了很多(手动大哭) Problem - A - Codeforces 题意 给定数字n, 求出最大数字k, 使得 n & (n−1) & (n−2) & ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
随机推荐
- 【代码笔记】iOS-json文件的使用
一,工程图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...
- JavaSE——线程通信
线程通信: 如果线程A和线程B持有同一个MyObject类的对象object,这两个线程会去调用不同的方法,但是它们是同步执行的,比如:线程B需要等待线程A执行完了methodA()方法之后,它才能执 ...
- hudson运行出现java.io.IOException Cannot run program的错误分析
作者:朱金灿 来源:http://blog.csdn.net/clever101 在昨天运行每日构建时hudson突然出错,错误信息如下: [MySoft3.1] $ cmd /c call &quo ...
- Boto Config File
Boto是AWS SDK for Python,可以通过pip安装,也可以下载源码直接安装.直接安装挺方便的. 安装后参照AWS给出的Sample Project,连接S3,遍历一下buckets,获 ...
- springboot 1.3.5升级1.5.9后 默认使用tomcat 8.5版本 get请求报400 异常信息为 The valid characters are defined in RFC 7230 and RFC 3986
1.springboot 1.3.5升级1.5.9后 默认使用tomcat 8.5版本而之前用的是tomcat7 get请求报400 异常信息为 The valid characters are ...
- 总结获取原生JS(javascript)的父节点、子节点、兄弟节点
关于原生JS获取节点,一直是个头疼的问题,而且调用方法的名字又贼长了,所以我选择用JQ,好像跑题了-- 话不多说看代码 获取父节点 及 父节点下所有子节点(兄弟节点) <ul> <l ...
- 动态修改css文件中,具体的class中的个别属性值。
function setStyleSheetObjCssClassProperty(pStyleSheetObj, pSelectorText, pProperty, pValue) { var pS ...
- python的学习之路day4
大纲 1.一些常用的内置函数 callable() chr() & ord() 随机生成验证码 map() 全局变量,局部变量 hash() & round() max() min() ...
- sql点滴—mysql中查询表的信息
mysql中查询表的信息 查询mysql表字段信息的sql语句 SHOW DATABASES //列出 MySQL Server 数据库. SHOW TABLES [FROM db_name] //列 ...
- Servlet 核心接口
在Servlet体系结构中,除了用于实现Servlet的Servlet接口.GenericServlet类和HttpServlet类外,还有一些辅助Servlet获取相关资源信息的重要接口,了解这些接 ...