题目传送门

分析

看到查询最大异或和,果断想到线性基,又看到了区间操作,果断想到线段树。

于是就有了线段树套线性基。

对于插入操作,我们可以对线段树上对应的点的线性基直接插入。

对于询问操作,我们可以将区间内的线性基并在一块查询。

代码如下

#include<bits/stdc++.h>
using namespace std;
int read(){int x;scanf("%d",&x);return x;
}
const int N = 5e4+100;
int n,m;
struct Node{int p[34];int size;Node(){size = 0;}
}t[N<<2];
int Ans[34],size;
void update(int u,int l,int r,int K,int x)
{if(l > K || r < K) return;int key = x;if(t[u].size < 31){for(int i = 31;i>=0;i--){if(key&(1<<i)){if(!t[u].p[i]){t[u].p[i] = key;t[u].size++;break;}key ^= t[u].p[i];}}   }if(l == r) return;int mid = l + r >> 1;update(u<<1,l,mid,K,x);update(

P4839 P哥的桶C++题解相关推荐

  1. 洛谷P4839 P哥的桶【线段树+线性基】

    题目描述 P哥现在有n个桶,他们排成了一排,这些桶可以装下任意多个女朋友.每个女朋友有一个固定的颜值 P哥时不时地会找新女朋友,并把新找的女朋友丢进某个桶里面.我们用1kx来表示P哥找了一个颜值为x的 ...

  2. 洛谷P4839 P哥的桶 线段树+线性基

    传送门 题意:N个操作,第K个桶放一个X,查询L到R区间的桶任意数的异或最大值. P哥时不时地会找新女朋友,并把新找的女朋友丢进某个桶里面.我们用 1 k x 来表示P哥找了一个颜值为x的女朋友,并且 ...

  3. P哥的桶(线段树+线性基)

    https://www.luogu.org/problem/P4839 题目: 有两个操作 1 a b  在a的位置添加b数值  (注意一个位置可以有多个值) 2 a b : 在 a到b的范围任取任意 ...

  4. Python解题 - CSDN周赛第36期

    本期有点难度,系统也没有多少bug,算是最近 N 期周赛里质量较高的一期比赛了. 第一题:查找点在自然区间的坐标 定义:实数轴上的一个区间由左右两个端点,假设区间是左闭右开的,例如区间`[0,1)`. ...

  5. Python解题 - CSDN周赛第32期 - 运输石油(三维背包)

    上期周赛因为最后一题出现bug,再加上都是经典的模板题,问哥就懒得写题解了. 本期也是有两道考过的题目,不过最后一题因为考到了背包问题的特殊类型,还是值得拿出来记个笔记. 第一题:传奇霸业 传奇霸业, ...

  6. 代码随想录算法训练营第六天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和。

    代码随想录算法训练营第六天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和. 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和 454.四数相加I ...

  7. NOIP2016天天爱跑步 题解报告【lca+树上统计(桶)】

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 nn个 ...

  8. [NOIP模拟测试9]题(Problem) 题解 (组合数全家桶+dp)

    达哥送分给我我都不要,感觉自己挺牛批. $type=0:$ 跟visit那题类似,枚举横向移动的步数直接推公式: $ans=\sum C_n^i \times C_i^{\frac{i}{2}} \t ...

  9. 混合个人训练第四十六场(A,B题解) A 数论线代全家桶 (all) B: 看星星 (stars)

    A 数论线代全家桶 (all) 题意如图. 思路: 首先发现 1 = 1 * 1 * 1; n=1; 4 = 1 * 4 * 1; n=2; 72 = 4 * 18=4 * 9 * 2; n=3; 2 ...

  10. 算法题解_哥德巴赫曾猜测

    本周总结 文章目录 本周总结 一.哥德巴赫曾猜测 1.思路 2.代码 一.哥德巴赫曾猜测 题目描述 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和.但有些偶数可以分解成多 ...

最新文章

  1. java监听组合按键_js监听组合按键
  2. finecms设置伪静态后分享到微信不能访问怎么处理
  3. Spring 5.1.13 和 Spring Boot 2.2.3 发布
  4. Django 笔记2 -- Django 项目
  5. Lambda表达式在Java 8中的简单应用
  6. corba的兴衰_数据科学薪酬的兴衰
  7. python支持任意大的数字_Python实现接受任意个数参数的函数方法
  8. 【idea基础知识】project structure中没有web 或没有spring
  9. (27)Verilog HDL循环语句:while
  10. 解决windows 2003打了系统补丁后远程桌面不能用
  11. DataBindings的用法
  12. ubuntu无法连接网络
  13. hadoop hive集群_大数据专栏 | Hive 安装初体验
  14. rocketmq原理_RocketMQ消息存储和查询原理
  15. python界面登录程序_python的基础程序——简陋的管理员(用户)登录界面
  16. 4093:倒排索引查询--bitmap并查集
  17. 爬虫初探:弱水三千只取一瓢,房源三千全都想要
  18. 设计32信道的多相滤波结构数字接收机
  19. 北京大学计算机科学李丰,北京大学
  20. VC下自制一个MusicPlayer:调用activemovie控件

热门文章

  1. 哪些业务需要使用CDN加速服务?
  2. Java中boolean类型占几个字节,你知道吗?
  3. Android Studio 编译 UVCCamera
  4. C++中的常对象和常对象成员
  5. 华为S5700交换机端口聚合
  6. 计算机cpu风扇不转怎么办,如果计算机启动时cpu风扇不旋转,该怎么办?解决方法[详细说明]...
  7. Pega How To系列之一:如何在页面上动态显示/隐藏内容 ----by Cheney Wang
  8. zjb_integrated 的BLOG(学习DaVinci的好文章)
  9. jAvA中deprecate,Deprecate in Java 1.6
  10. Shell编程-正则表达式及正则表达式在线测试网站