线性基模板+例题
一、基础线性基整数异或最常用模板代码#includebits/stdc.husingnamespacestd;在这里插入代码片typedeflonglongll;constintMAX_BIT60;// long long开60int开30ll p[MAX_BIT5];// 插入数字x到线性基voidinsert(ll x){for(intiMAX_BIT;i0;i--){if((xi)1){if(!p[i]){p[i]x;break;}x^p[i];}}// x最后变为0说明x可由现有基异或表示}// 查询集合能异或出的最大值llget_max(){ll res0;for(intiMAX_BIT;i0;i--)if((res^p[i])res)res^p[i];returnres;}// 查询集合能异或出的最小值llget_min(){for(inti0;iMAX_BIT;i)if(p[i])returnp[i];return0;}// 判断x能否由线性基中的数异或得到boolcheck(ll x){for(intiMAX_BIT;i0;i--)if((xi)1){if(!p[i])returnfalse;x^p[i];}returntrue;}// 清空线性基voidclear(){memset(p,0,sizeof(p));}二、带合并操作多组合并线性基// 将b线性基合并进avoidmerge(ll a[],ll b[]){for(intiMAX_BIT;i0;i--)if(b[i])insert(b[i]);}三、求第 k 小异或值进阶模板ll p[MAX_BIT5],d[MAX_BIT5];intcnt;// 线性基有效基底数量voidinsert(ll x){for(intiMAX_BIT;i0;i--){if((xi)1){if(!p[i]){p[i]x;break;}x^p[i];}}}// 重构基底用于求第k小voidrebuild(){cnt0;memset(d,0,sizeof(d));for(inti0;iMAX_BIT;i){for(intj0;ji;j)if((p[i]j)1)p[i]^p[j];if(p[i])d[cnt]p[i];}}// 查询第k小异或值llkth(ll k){ll res0;if(k(1LLcnt))return-1;// 不存在for(inti0;icnt;i)if((ki)1)res^d[i];returnres;}四、使用说明1. 数据范围区分数字范围是int(2^{31})MAX_BIT 30数字范围是long long(2^{63})MAX_BIT 60竞赛绝大多数情况2. 基础操作示例intmain(){clear();ll n,x;cinn;for(inti1;in;i){cinx;insert(x);}coutget_max()endl;// 最大异或return0;}五、线性基核心性质做题必背原数组任意数字异或结果都能等价用线性基异或表示线性基内部任意子集异或结果互不相同线性基不支持删除只能重建删除场景用线段树 / 分块套线性基数组存在 0 的条件插入时数字被消为 0说明该数能被其他数异或凑出。六、经典适用题型给定数组选若干数异或求最大值判断某个数能否由数组子集异或得到求所有子集异或结果中第 k 小区间异或、树上路径异或线段树 / 倍增 线性基。例题牛客多校第二场 BB-Bitwise Maximization_2026牛客暑期多校训练营2中文题面题意给定一个非负整数列表要把每一个数必须分到两个多重集合 A、B 中的其中一个不能不选。定义一个集合的按位异或值集合内所有数做异或运算的结果空集异或值为 0。最终得分 A的异或值 B的异或值你需要求这个得分的最大可能值。做题思路题目要求最大化 X(S⊕X)其中 S 是所有元素的总异或和观察二进制的某一位如果 S 在这一位是1那么不管 X 在这一位是0还是1这一位对总和的贡献始终是一个1因为 X 和 S⊕X必然一个是0一个是1。如果 S 在这一位是0那么 X 和 S⊕XS⊕X 在这一位是相同的。为了让总和最大我们希望 X 在这一位是1这样总和的这一位上就会贡献两个1即 112。原代码直接对 ai建立线性基并最大化 ans这会导致线性基可能为了让 S 为1的某些位变成1而牺牲了让 S 为0的位变成1的机会。这是因为线性基在求max时不区分这些位的重要性但对我们的答案来说SS 为0的位对答案的增加有决定性作用而 SS 为1的位对答案根本没有影响。代码#includebits/stdc.h#defineintlonglongusingnamespacestd;constintM5e510;inta[M];//列表signedmain(){ios::sync_with_stdio(0);cin.tie(0);intT;cinT;while(T--){intv[65];//线性基memset(v,0,sizeof(v));intn;cinn;intm0,sum0;for(inti0;in;i){cina[i];mmax(m,a[i]);sum^a[i];}intw0;//最大位数while(m){w;m/2;}for(inti0;in;i){a[i]a[i]~sum;for(intjw-1;j0;j--){if(a[i]j1){if(v[j]!0){a[i]a[i]^v[j];}else{v[j]a[i];break;}}}}intans0;for(intiw-1;i0;i--){//coutv[i]:v[i] ;ansmax(ans,ans^v[i]);//coutans:ansendl;}coutans(sum^ans)endl;}}

相关新闻

用码道 AI 编程助手开发番茄钟与任务统计工具

用码道 AI 编程助手开发番茄钟与任务统计工具

用码道 AI 编程助手开发番茄钟与任务统计工具一行需求,码道帮我写出了带进度环、任务管理和今日/累计统计的番茄钟——25/5/15 计时、localStorage 持久化、浏览器通知,全在一个 HTML 里分类: ai-development 标签: CodeArts, AI编程, 番茄钟, 任务统计,…

2026/7/29 7:54:59阅读更多 →
Mind+图形化编程集成AS608指纹模块:从串口协议到扩展库开发实战

Mind+图形化编程集成AS608指纹模块:从串口协议到扩展库开发实战

1. 项目概述:当Mind遇上指纹识别 最近在折腾一个需要身份验证的小项目,手头正好有一块常见的AS608或FPM10A光学指纹模块。这类模块价格亲民、性能稳定,在门禁、考勤或者一些DIY的智能锁项目里很常见。但当我打算用Mind(一款面向青…

2026/7/29 7:52:58阅读更多 →
单片机LED点阵广告牌设计:从51到STM32的硬件驱动与动态扫描算法详解

单片机LED点阵广告牌设计:从51到STM32的硬件驱动与动态扫描算法详解

1. 项目概述与核心价值最近在整理资料时,翻到了当年大学时期的一个单片机课设项目——LED点阵广告牌设计。这个项目可以说是电子、通信、自动化乃至计算机相关专业学生的“必修课”之一,它完美地串联了单片机原理、C语言编程、硬件电路设计以及上位机软件…

2026/7/29 7:52:58阅读更多 →
P2386 放苹果

P2386 放苹果

记录163 #include<bits/stdc.h> // 引入万能头文件&#xff0c;包含所有常用的标准库 using namespace std; // 使用标准命名空间 int t,m,n; // 定义全局变量t(测试数据组数)、m(苹果数)、n(盘子数) int ans; // 定义全局变量ans&#xff0c;用来记录当前测试数据的合法…

2026/7/29 8:59:09阅读更多 →
Windows Subsystem for Android开发指南:在Windows 11上无缝运行安卓应用

Windows Subsystem for Android开发指南:在Windows 11上无缝运行安卓应用

Windows Subsystem for Android开发指南&#xff1a;在Windows 11上无缝运行安卓应用 【免费下载链接】WSA Developer-related issues and feature requests for Windows Subsystem for Android 项目地址: https://gitcode.com/gh_mirrors/ws/WSA Windows Subsystem for…

2026/7/29 8:59:09阅读更多 →
一年前他想要AI当CEO,今天他说“我错了“

一年前他想要AI当CEO,今天他说“我错了“

2024年11月&#xff0c;在一档热门播客节目里&#xff0c;萨姆奥尔特曼说过一句在当时看来并不奇怪的话。他说&#xff0c;如果有其他公司抢在OpenAI前面用AI模型取代了CEO&#xff0c;那对OpenAI而言就是一种失败。"如果OpenAI不是第一家由AI CEO管理的大公司&#xff0c…

2026/7/29 8:59:09阅读更多 →
S32G2汽车网关开发实战:从核心原理到多核通信与性能优化

S32G2汽车网关开发实战:从核心原理到多核通信与性能优化

1. 项目概述&#xff1a;为什么S32G2是汽车网关与域控制器的“硬通货”如果你最近在关注汽车电子&#xff0c;尤其是智能座舱、自动驾驶或者整车电子电气架构的演进&#xff0c;那么NXP的S32G2这个名字你一定不会陌生。它早已不是一颗简单的车规级处理器&#xff0c;而是成为了…

2026/7/29 8:59:09阅读更多 →
精密100倍同相放大电路设计:从运放选型到PCB布局的工程实践

精密100倍同相放大电路设计:从运放选型到PCB布局的工程实践

1. 项目概述&#xff1a;从“放大”到“精准放大”的挑战 在电子电路设计的日常里&#xff0c;放大电路就像面包和黄油一样基础。但当你看到“100倍同向放大”这个需求时&#xff0c;事情就变得不那么简单了。这不仅仅是把一个信号放大100倍&#xff0c;它背后隐含的是一系列关…

2026/7/29 8:59:09阅读更多 →
Burp Suite实战:高效破解Basic认证的完整流程与高阶技巧

Burp Suite实战:高效破解Basic认证的完整流程与高阶技巧

1. 项目概述&#xff1a;为什么Basic认证依然是渗透测试的“香饽饽”在Web安全测试的日常里&#xff0c;Basic认证&#xff08;基本认证&#xff09;就像一位“熟悉的陌生人”。说它熟悉&#xff0c;是因为这种基于用户名和密码的HTTP标准认证机制&#xff0c;从Web诞生之初就存…

2026/7/29 8:57:09阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

&#x1f539; 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具&#xff0c;凭借本地离线运行、可视化图形操作和任务自动化三大核心特性&#xff0c;赢得了众多用户的青睐。与普通在线对话AI工具不同&#xff0c;它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接&#xff0c;是用激光束对阀座壳体&#xff08;通常为不锈钢或铝合金&#xff09;进行密封焊接&#xff0c;使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX&#xff1a;三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停&#xff1f;用 interrupt 给它设个“关卡“&#xff01; 在构建复杂的 Agent 系统时&#xff0c;我们经常会遇到这样的场景&#xff1a;Agent 正在执行一个多步骤的任务&#xff0c;比如“下单购买商品”&#xff0c;但执行到一半时&#xff0c;我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日&#xff0c;国际专注开放式技术研发的声学品牌Nank南卡&#xff0c;正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手&#xff1f;而且是选择曾舜晞&#xff1f;让我们一起来探索一下&#xff01;比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →