前缀线性基模板

F. Ivan and Burgers

/*Author : lifehappy
*/
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include <bits/stdc++.h>#define mp make_pair
#define pb push_back
#define endl '\n'
#define mid (l + r >> 1)
#define lson rt << 1, l, mid
#define rson rt << 1 | 1, mid + 1, r
#define ls rt << 1
#define rs rt << 1 | 1using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;const double pi = acos(-1.0);
const double eps = 1e-7;
const int inf = 0x3f3f3f3f;inline ll read() {ll f = 1, x = 0;char c = getchar();while(c < '0' || c > '9') {if(c == '-')    f = -1;c = getchar();}while(c >= '0' && c <= '9') {x = (x << 1) + (x << 3) + (c ^ 48);c = getchar();}return f * x;
}const int N = 5e5 + 10;struct PrefixLinearBasis {int base[N][64], pos[N][64], num, n = 30;void init() {for(int i = 0; i < N; i++) {memset(base[i], 0, sizeof base[i]);memset(pos[i], 0, sizeof pos[i]);num = 0;}}void add(int x) {num++;for(int i = 0; i <= n; i++) {base[num][i] = base[num - 1][i];pos[num][i] = pos[num - 1][i];}int p = num;for(int i = n; ~i; i--) {if(x >> i & 1) {if(base[num][i] == 0) {base[num][i] = x;pos[num][i] = p;return ;}if(pos[num][i] < p) {swap(pos[num][i], p);swap(base[num][i], x);}x ^= base[num][i];}}}int query_max(int l, int r) {ll ans = 0;for(int i = n; ~i; i--) {if(pos[r][i] < l) continue;if((ans ^ base[r][i]) > ans) {ans ^= base[r][i];}}return ans;}int query_min(int l, int r) {for(int i = 0; i <= n; i++) {if(pos[r][i] < l) continue;if(base[r][i]) return base[r][i];}}
}ans;int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int n = read();for(int i = 1; i <= n; i++) {ll x = read();ans.add(x);}int m = read();for(int i = 1; i <= m; i++) {int l = read(), r = read();printf("%d\n", ans.query_max(l, r));}return 0;
}

F. Ivan and Burgers(前缀线性基模板)相关推荐

  1. HDU 6579 Operation (前缀线性基模板题)

    Operation 思路 只要套上前缀线性基的板子然后按照题意模拟即可,前缀线性基模板题了. 代码 /*Author : lifehappy */ #pragma GCC optimize(2) #p ...

  2. 【Codeforces Round #532 (Div. 2) F. Ivan and Burgers】离线+线性基

    F. Ivan and Burgers 题意 n个数,q次询问,每次询问一个区间内选出任意个数的异或最大值. 1<=n<=5∗1051<=n<=5*10^51<=n< ...

  3. Codeforces 1100 F - Ivan and Burgers

    F - Ivan and Burgers 思路:线性基+贪心,保存线性基中每一位的最后一个 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #p ...

  4. Codeforces Round #532 (Div. 2) F. Ivan and Burgers(可持久化异或线性基+双指针)

    题意 给n个数,q组询问,每次询问l到r的最大异或和 思路来源 某cf奆神代码 题解 本来应该是线性基上分治的 这里一发基数+贪心也能过 真是神仙代码啊 双指针的经典应用: 对于每个询问[l,r],r ...

  5. CF1100F Ivan and Burgers(线性基)

    解析 做幸运数字的时候逛题解区爬过来的 挺妙的 把所有询问离线下来,按右端点排序 贪心的让最高位更高的向量出现的尽可能向右 实现上可以把线性基里的向量和当前的数swap来实现 代码就非常好写了 代码 ...

  6. 线性基+前缀线性基学习笔记

    学习于这个博客 首先,线性基是一个集合,对于任何一个序列一定有至少一个线性基,取线性基中的某些数异或起来一定可以得到原序列中的任何一个数. 线性基三大性质: 1.原序列中的任何一个数都可以由线性基里面 ...

  7. 【CF1100F】 Ivan and Burgers (分治+线性基)

    description 戳我看题目(づ ̄3 ̄)づ╭❤- solution 异或和最大 --关联线性基 线性基: 原序列的每一个数都能由线性基里若干个数异或得到 线性基里若干个数的异或结果不可能为0 如 ...

  8. CF1100F Ivan and Burgers

    CF1100F Ivan and Burgers 静态区间,选取任意个数使得它们的异或和最大 \(n,\ m\leq5\times10^5,\ a_i\in[0,\ 10^6]\) lxl ST表,线 ...

  9. Ivan and Burgers(CF-1100F)

    Problem Description Ivan loves burgers and spending money. There are nn burger joints on the street ...

最新文章

  1. 15.linux-LCD层次分析(详解)
  2. 人大附中「内卷」到了美国?华裔家长抗议中国学生持F1签证抢占美国IMO名额...
  3. TypeScript入坑
  4. ORA-00054 resource busy and acquire with NOWAIT specified Cause 错误解决方法
  5. log4j.properties和log4j.xml配置
  6. 佛言:人有二十难(为)
  7. java云购_ycyg: 源创元购,一元云购java springmvc版本 云购商城 开源一元云购 开源java商城...
  8. gomarket服务器位置,第一章 昂达V711双核版常见问题解答.pdf
  9. 访问k8s集群出现Unable to connect to the server: x509: certificate is valid for xxx, not xxx问题解决【详细步骤】
  10. 联想全球裁员 MOTO移动业务被砍掉超过一半
  11. 幼儿园php源码,v2.8XYCMS幼儿园建站系统
  12. Linux文本处理三剑客之grep
  13. 10bit视频编码——特性及全面播放方法介绍
  14. 赛博朋克!灵感来自枫树种子荚的多翼滑翔机,空中可分体
  15. 【国内chatgpt使用方法合集】(5月22日已更新)
  16. 红米9A成功root.9秒解锁BL MIUI12 root权限刷 Magisk面具 TWRP
  17. 谈判如何在谈判中_工资谈判软件开发人员指南
  18. 52brain公众号目录【2020年3月】
  19. 2016年linux认证,2016年Linux认证考试练习题及答案
  20. MIT发布2018年10大突破性技术,3项与嵌入式工程师相关!

热门文章

  1. 没有主清单属性_原神:晴知的主C诺艾尔大型进阶攻略初版
  2. ios 销毁当前页面重新开启_问:如何强制销毁iOS中的视图控制器?
  3. 如果你没有时间读书,至少要保留这个习惯
  4. 硬货 | 一片小小的薄膜,却可以粘住全世界!
  5. php验证手机验证码过期,验证过期时间
  6. access对比数据_数据仓库系列之数据质量管理
  7. 纳尼???我JVM优化过头了,直接把异常信息优化没了?怎么办
  8. linux删除grid数据文件,MongoDB进阶系列(13)——GridFS大文件的添加、获取、查看、删除...
  9. java对jar包的复制_Java安全之jar包调试技巧
  10. java 异步读写_Java异步与AIO