bzoj 3261 最大异或和 可持久化trie树

Arxml文件可视化:当汽车软件架构遇见交互式设计工具 本文探讨了Arxml文件在汽车电子系统开发中的可视化技术,结合AUTOSAR架构标准,介绍了如何利用现代Web技术构建交互式设计工具。通过三维组件关系图、动态数据流展示和版本对比等功能,显著提升开发效率和架构评审质量,适用于MBD和ASPICE开发流程。 阅读详情

查询 i 属于【l,r】 中  p[i] ^ p[i+1 ] ^ ....^p[n]^x 中的最大值

b【i】 为 p【1】^p【2】^……^p【i】 的异或值。

也就是查询   b【i-1】^ b【n】^ X    (i属于 [l,r])

也就是变成在 一个区间中查询 对于A = (b[n]^ X)的最大的异或值。

所以应该维护 b【i-1】。

trick 对于 i =1  b[0] = 0;  没有想到。 如果不插入 0的话, 结果p[i] ^ p[i+1 ] ^ ....^p[n]^x 中不会选到第一个节点。

i=2 b[1] = a[1];

i =3  b[2]= a[1]^a[2].

利用可持久化tire树,可以实现 在区间中 查询区间中的  数 跟 X异或和 最大值。

/**************************************************************
    Problem: 3261
    User: OceanLight
    Language: C++
    Result: Accepted
    Time:4228 ms
    Memory:294360 kb
****************************************************************/
 
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <cstring>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <assert.h>
#include <queue>
#define REP(i,n) for(int i=0;i<n;i++)
#define TR(i,x) for(typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define ALLL(x) x.begin(),x.end()
#define SORT(x) sort(ALLL(x))
#define CLEAR(x) memset(x,0,sizeof(x))
#define FILLL(x,c) memset(x,c,sizeof(x))
using namespace std;
const double eps = 1e-9;
#define LL long long
#define pb push_back
const int maxn  = 610000;
int a[maxn],b[maxn];
struct Node{
   Node *s[2];
   int sum;
}nodes[maxn*40];
Node *root[maxn],*null;
int C;
int n,m;
void init(){
    C=0;
    root[0] = null = &nodes[C++];
    null->s[0] = null->s[1] = null;
    null->sum = 0;
}
Node *insert(int v,int d,Node *root){
     Node *rt = &nodes[C++];
     rt->s[0] = root->s[0];
     rt->s[1] = root->s[1];
     rt->sum = root->sum+1;
     if(d<0)return rt;
     int p = (v>>d)&1;
     rt->s[p] = insert(v,d-1,root->s[p]);
     return rt;
}
int query(int v,int d,Node *rt1,Node *rt2){
    if(d<0)return 0;
    int p = (v>>d)&1;
    if(rt2->s[p^1]->sum - rt1->s[p^1]->sum){
          return (1<<d)+query(v,d-1,rt1->s[p^1],rt2->s[p^1]);
    }
    return query(v,d-1,rt1->s[p],rt2->s[p]);
}
const int K = 24;
char tmp[10];
int main(){
    //cout << (1<<K)<<endl;
    while(~scanf("%d%d",&n,&m)){
        init();
        CLEAR(a);
        CLEAR(b);
        n++;
        root[1] = insert(0,K,root[0]);
         for(int i=2;i<=n;i++){
             scanf("%d",&a[i]);
             b[i] = b[i-1]^a[i];
             root[i] = insert(b[i],K,root[i-1]);
         } 
         while(m--){
             scanf("%s",tmp);
             if(tmp[0]=='A'){
                  n++;
                  scanf("%d",&a[n]);
                  b[n] = b[n-1]^a[n];
                  root[n] = insert(b[n],K,root[n-1]);
             }else{
                 int l,r,x;
                 scanf("%d%d%d",&l,&r,&x);
                 int ans = query(x^b[n],K,root[l-1],root[r]);
                 printf("%d\n",ans);
             }
         }
    }
    return 0;
     
}


高温环境下(100℃以上)相机的几种保障方案 高温环境下相机保障措施摘要:针对120℃以上高温环境,相机需采取多重防护:1.散热设计采用金属机身、散热鳍片或风扇;2.关键部件选用耐高温材料(铝合金、特种玻璃);3.电子元件需军规级芯片并做三防处理;4.建议外接电源或耐高温电池。工业相机(如FLIR A655sc、Basler ace)及特种机型(Ximea xiQ)具备高温适应性,普通相机可加装隔热套件配合冷却系统。选择时需关注传感器信噪比和全局快门性能,并设置温度监控保护机制。注意高温会加速设备老化,需定期检测维护。(149字) 阅读详情

相关推荐

别再到处找模板了!我用这套软著申请材料(含用户手册+源代码模板)两个月搞定

本文提供了一套高效的软著申请材料模板,包括用户手册和源代码模板,帮助开发者两个月内快速完成申请。通过实战指南和常见误区解析,详细介绍了材料准备的规范与技巧,确保格式合规性,大幅提升审核通过率。

weixin_29268637的博客 549

可持久化数据结构(一):可持久化Trie

近日学习了可持久化数据结构,因此特来总结一下,那就先从最简单的可持久化Trie开始吧!(虽然我理解这个的时间比主席树还久) 一:可持久化Trie的用途 正常的Trie树可以解决字符串的一些问题,特殊的Trie树(比如0/1Trie)可以解决最大异或和的相关问题,但是如果每次的询问是针对区间的,Trie树就不好解决,因为你不能对每个区间都建一棵Trie树,那样空间就会爆炸,于是,我们的可持久化Trie就登场了 二:可持久化Trie的构造 设trie[x][ch],表示从x号节点连向的字符为ch的点的编号(与普

jwg2732的专栏 3498

手把手教你用STM32+LAN8720搭建以太网通信模块(含原理图)

本文详细介绍了如何使用STM32微控制器与LAN8720物理层芯片搭建以太网通信模块,涵盖硬件设计、软件配置及常见问题排查。重点讲解了LAN8720的低功耗设计、RMII接口简化布线等特性,以及STM32CubeMX配置和LwIP协议栈移植技巧,助力开发者快速实现稳定可靠的嵌入式网络通信。

CAT789的专栏 413

最大异或和 (可持续化字典树)

传送门:最大异或和 前言: 这道题是一个经典的可持久化的题。可持久化的思想就是通过空间优化存储每一时刻的状态,以便在后续的询问中能够用快速查询。 思路: 此题问的是的最大值。 那么先不考虑给定的范围。将问题转化为找到一个位置,使得最大。 那么这个问题怎么解决呢? 这里需要补充一个前置知识: 那么我们可以先预处理一个数组,用于存储前n项的异或和,再通过逐位去对比,找到一个满足条件的最大值即可。 举个小小的栗子: 假设的二进制表示为 1001010。 那么最理想的 能使最大的的二进..

weixin_50547586的博客 1090

DataGrip 2023.3 Windows版激活保姆级教程:从下载脚本到输入激活码,一次搞定

本文提供DataGrip 2023.3 Windows版的完整安装与授权指南,从环境准备到数据库连接管理,再到高效开发技巧与高级功能扩展,帮助开发者快速掌握这一专业数据库管理工具。内容涵盖安装步骤、初始配置、常见问题解决及性能调优技巧,适合数据库开发新手和专业人士。

weixin_30275415的博客 644

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

dvlinker的技术专栏 7166

可持久化Trie详解,最大异或和,k大异或和

因为我们选取的后缀不能空,所以相当于 求 s[p] ^ s[p + 1] ^ …对于查询的部分,因为插入了0,所以 [l, r] 对应 版本/区间 [l + 1, r + 1]那么可以作为次大值的区间就是 [ll + 1, r - 1], [l + 1, rr - 1]因而,我们动态开点,在上一个版本的基础上,增加新的节点,就得到了新版本的Trie。然后我们枚举每个数,记 左边第一个大的为l,第二个为ll,同理有r,rr。因为查询区间是[l, r],所以左边界应该是root[l - 1]

EQUINOX1的博客 2319

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的水果识别系统(Python+PySide6界面+训练代码)

本文详细介绍了基于YOLO系列目标检测算法(包括YOLOv5、YOLOv6、YOLOv7和YOLOv8)的水果识别系统的设计与实现。系统采用Python语言开发,结合PySide6构建用户界面,实现了从数据准备、模型训练到部署应用的全流程。本文将提供完整的代码实现、详细的训练过程分析以及性能对比实验,并给出推荐的数据集资源。该系统可以准确识别多种水果类型,为智能农业、自动售货、食品加工等领域提供技术支持。

YOLO 565

Trie树的可持久化

文章目录

Cauchy的博客 1338

10、利用智能合约实现公平的私有集合交集

本文探讨了利用智能合约实现公平的私有集合交集(PSI)的多种协议,重点分析了协议 Π 和 Π∗ 的气体成本与性能特点。同时对比了包括 Justitia 和 Anesidora 在内的现有方案,突出了仅使用智能合约实现硬币补偿公平性的优势。文中还介绍了相关密码学基础、安全模型及隐私保障机制,为在不同应用场景下选择高效、安全的 PSI 协议提供了理论支持和实践指导。

linux的博客 97

【ComfyUI】QwenImageEdit OOTD角色与姿态匹配换装

本文介绍了一个基于Qwen Edit OOTD 2.0的ComfyUI工作流,能够实现角色与姿态匹配的智能穿搭生成。该工作流通过整合模型推理、姿态识别、图像拼接和渲染等节点,完成从角色图、姿态图到成品穿搭图的完整生成流程。核心采用Qwen Image系列模型进行图像理解和编辑,配合ControlNet进行姿态引导。用户只需提供角色图和姿态参考图,系统即可自动完成姿态解析、语义编码、采样生成等步骤,输出与输入姿态一致的穿搭图像。该方案适用于虚拟角色展示、电商试穿等场景,能保持角色特征一致的同时灵活变换姿态,显

Mr数据杨 1590

最大异或和(xor)

最大异或和(xor) 最大异或和(xor) 题目描述   给定一个非负整数序列{a},初始长度为N。 有M个操作,有以下两种操作类型: 1、A x:添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 2、Q l r x:询问操作,你需要找到一个位置p,满足l&lt;=p&lt;=r,使得: a[p] xor a[p+1] xor ... x...

liankewei的博客 3505

GEE案例:计算区域生态总体脆弱性分析

计算区域生态总体脆弱性分析需要考虑多个指标和因素。下面是一个基本的方法:选择指标:选择一组能够反映区域生态系统脆弱性的指标。这些指标可以包括生物多样性指数、森林覆盖率、湿地保护率、土地退化程度等。为每个指标分配权重:为了使得各指标在计算中的重要性相对均衡,可以为每个指标分配一个权重。权重可以根据各指标的重要性和可利用的数据进行确定。数据收集和处理:收集每个指标的数据,并对其进行处理,确保数据的准确性和一致性。如果有需要,可以对数据进行归一化处理。计算指标值:根据收集的数据和权重,计算每个指标的值。

此星光明博客 466

BZOJ 3261 浅谈可持久化TRIE树最大连续异或和

世界真的很大 trie树贪心求最大异或和大概也就是那么回事了 但是对于区间的查询就不是那么容易的了 考虑主席树的思想,怎么得到区间的值域的 这就是可持久化的trie树 说来容易 指针教做人哪 看题先: description:给定一个非负整数序列 {a},初始长度为 N。 有 M个操作,有以下两种操作类型:1 、A x:添加操作,表示在序列末尾添加一个数 x,序列的

BerryKanry的博客 3598

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

bzoj3261最大异或和&&可持久化Trie树详解

3261: 最大异或和 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 2093  Solved: 853 [Submit][Status][Discuss] Description       给定一个非负整数序列 {a},初始长度为 N。        有   M个操作,有以下两种操作类型:   1 、A x:添加操作

maxtir的博客 720

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

BZOJ3261 最大异或和 可持久化Trie树

题面: Description 给定一个非负整数序列 {a},初始长度为 N。 有 M个操作,有以下两种操作类型: 1 、A x:添加操作,表示在序列末尾添加一个数 x,序列的长度 N+1。 2 、Q l r x:询问操作,你需要找到一个位置 p,满足 l<=p<=r,使得: a[p] xor a[p+1] xor … xor a[N] xor x 最大,输出最大是多少。 I...

常胜将军的博客 281

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【bzoj3261】【最大异或和】可持久化trie树+贪心

[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61705397 Description 给定一个非负整数序列 {a},初始长度为 N。 有 M个操作,有以下两种操作类型: 1 、A x:添加操作,表示在序列末尾添加一个数 x,序列的长度 N+1。 2 、Q l r x:询问操

LinnBlanc的博客 560

【BZOJ3261】最大异或和【可持久化Trie树】

Trie维护序列前缀异或和,然后贪心找就可以啦。 #include const int maxn = 600005, maxd = 26, maxnode = maxn * maxd; int n, m, bin[maxd], num[maxn], son[maxnode][2], sum[maxnode], root[maxn], triecnt; inline int ire

BraketBN 485

[BZOJ3261]最大异或和(可持久化trie树)

题目: 我是超链接 题解: 本来喵喵喵还在好好写分块,结果突然发现要求最大异或和?没办法又是一个坑,顺道补了吧 牵扯到xor的东西要有意识地想到用trie树。 既然都是可持久化的就跟主席树的感觉差不多吧 设sum[i]" role="presentation" style="position: relative;">sum[i]sum[i]sum[i]表示1...i" role="pr

薇小薇 306

BZOJ 3261 最大异或和 可持久化Trie树

题目大意:给定一个序列,提供下列操作: 1.在数组结尾插入一个数 2.给定l,r,x,求一个l 首先我们可以维护前缀和 然后就是使x^sum[n]^sum[p-1]最大 x^sum[n]为定值,于是用Trie树贪心即可 考虑到l-1 每个区间[l,r]的Trie树为tree[r]-tree[l-1] 注意0要插入一个数字0,所以把-1作为空节点,然后把数组向前推进一位即可 #inc

世界 3368

BZOJ 3261最大异或和(可持久化trie树)

题目链接 思路 设 s[i]s[i]s[i] 为 aaa 序列的前 iii 个值得异或和 异或和,满足前缀和求区间异或值的性质。 那么每次查询 l,r,xl,r,xl,r,x ,答案即 ∑i=lrmin(S[n]⊕x⊕s[i−1])\sum_{i=l}^{r}min(S[n]\oplus x \oplus s[i-1])∑i=lr​min(S[n]⊕x⊕s[i−1]) s[n]s[n]s[n]可用...

←_← 238

【bzoj 3261】最大异或和(可持久化Trie树)

传送门biu~ 可持久化Trie树。 设bib_i为1到i的异或和,则相当于求max(bp−1xorbnxorx)max(b_{p-1}\;xor\;b_n\;xor\;x )。每次向Trie树中加入bib_i。在每次加一个数的时候把Trie树的这条链的每个点权加一。查询L到R区间时相当于查询bL−1b_{L-1}到bR−1b_{R-1}之间的最优解。用Trie树的第R-1个版本减去第L-2个

zP1nG 416

BZOJ 3261: 最大异或和位置-贪心+可持久化01Trie树

3261: 最大异或和 Time Limit:10 SecMemory Limit:512 MBSubmit:3519Solved:1493[Submit][Status][Discuss] Description 给定一个非负整数序列{a},初始长度为N。 有M个操作,有以下两种操作类型: 1、Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 2...

weixin_30412013的博客 101

bzoj3261 最大异或和【可持久化trie树】

解题思路:题目要求的是a[p]^a[p+1]^……^a[n]^x的最大值。 而该式等于sum[p-1]^sum[n]^x,其中sum[i]表示a[1]^a[2]^……^a[i]。 sum[n]^x可以直接算出,所以我们相当于每次去区间[l-1,r-1]中贪心找异或(sum[n]^x)的最优值可以像建主席树一样建一棵可持久化trie树,每新加一个数字,就新开一条链,并把上面的cnt值加一。 查找

cdsszjj的博客 298

[BZOJ3261]最大异或和

[BZOJ3261]最大异或和 试题描述 给定一个非负整数序列 {a},初始长度为 N。有 M个操作,有以下两种操作类型:1 、A x:添加操作,表示在序列末尾添加一个数 x,序列的长度 N+1。2 、Q l r x:询问操作,你需要找到一个位置 p,满足 l<=p<=r,使得:a[p] xor a[p+1] xor ... xor a[N] xor x ...

weixin_30394251的博客 107

【BZOJ 3261】最大异或和(可持久化trie树)

题目链接 题意 给出一个序列,有两种操作。 一种是在序列后面加数,一种是询问一个区间内的所有后缀和一个给定数的最大异或和。 Sol 每次动态询问一个后缀和一个数的异或最值。 我们显然可以把每一个后缀的异或和看成是一个数。 但是由于每次插入是从后插入,如果我们维护后缀的化那么就要改很多东西了。 于是只能维护前缀,但怎么算呢。容斥一下,用全局的和异或一下就好了。 然后就是区间...

Yu Gi Oh! 519
上一篇: spoj COT 可持久化数据结构 (LCA模版)
下一篇: bzoj 3166: [Heoi2013]Alo 可持久化trie
OceanLight
博客等级 码龄14年 21粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值