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*/

转载于:https://www.cnblogs.com/Winniechen/p/10352584.html

Codeforces round 1100相关推荐

  1. CodeCraft-21 and Codeforces Round #711 (Div. 2) 题解

    先上链接CodeCraft-21 and Codeforces Round #711 (Div. 2) A: 从n开始往后找,不出几十个 一定能找到的,所以暴力就好了 void sovle(){cin ...

  2. Codeforces Round #644 (Div. 3) G.A/B Matrix

    Codeforces Round #644 (Div. 3) G.A/B Matrix 题目链接 You are given four positive integers n, m, a, b (1≤ ...

  3. Codeforces Round #789 (Div. 2)题解

    Codeforces Round #789 (Div. 2)题解 A. Tokitsukaze and All Zero Sequence 原题链接 算法标签 贪心 排序 思路 情况一:数组存在零 → ...

  4. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  5. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

  6. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  7. Codeforces Round #270

    Codeforces Round #270 题目链接 A:我是筛了下素数.事实上偶数仅仅要输出4和x - 4,奇数输出9和x - 9就可以 B:贪心的策略,把时间排序后.取每k个的位置 C:贪心.每次 ...

  8. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  9. [Educational Codeforces Round 16]A. King Moves

    [Educational Codeforces Round 16]A. King Moves 试题描述 The only king stands on the standard chess board ...

最新文章

  1. 小米开源FALSR算法:快速精确轻量级的超分辨率模型
  2. 使用jQuery更改图片来源
  3. python 字符串填充0
  4. python怎么控制小数点位数_谈谈关于Python里面小数点精度控制的问题
  5. php采集扩展,PHP扩展生成器
  6. 常见浏览器bug以及解决方法
  7. 计算机颜色的概念,颜色空间
  8. http://www.cnblogs.com/zxp_9527/archive/2009/05/07/1452253.html
  9. 使用Pr编辑字幕-快闪效果
  10. 奥克兰大学计算机领域优势,奥克兰大学世界排名及优势专业排名解析
  11. python设函数解方程_如何在Python函数最小化中获得速度,求椭球方程解
  12. android半透明图层颜色叠加,Android 图层混合模式PorterDuff.Mode
  13. 基于 Python 的时序模型——AMIRA模型
  14. 快手信息流投放平台:快手电商宣告成年
  15. C#压缩、解压缩文件(夹)(rar、zip)
  16. 迎着冷眼和嘲笑?前进
  17. java 类型转换
  18. Java 中的 int 型转为 long 型
  19. 如何让你的代码好维护
  20. ShanaEncoder 官网链接

热门文章

  1. java for循环_愉快地学Java语言:第五章 循环
  2. 手动更改oracle监听,详解Oracle数据库手动注册监听的方法
  3. administrator没有管理员权限_网络安全 之 NTFS安全权限
  4. oracle忘记实例名,Oracle的安装和MS SQL Server实例名
  5. 【Linux】安装CUDA和cudnn
  6. STM32F103ZET6开发板PB3/4,PA13/14/15等I/O口的特殊配置
  7. 【CV夏季划】2021年有三AI-CV夏季划出炉,冲刺秋招,从CV基础到模型优化彻底掌握...
  8. 【视频课】一课彻底掌握深度学习图像分类各种问题,学习CV你值得拥有
  9. 全球及中国儿童滑步车市场销量需求调查与竞争格局展望报告2022年
  10. 中国福建省动漫产业建设开发现状及未来策略规划调研报告2021-2027年