子数组的最大异或和(Trie字典树) LintCode 炼码 - 更高效的学习体验子数组的最大异或和_牛客题霸_牛客网算法最大子数组异或和_异或值最大的子数组-CSDN博客这段代码是为了处理可能包含负数的整数数组而负数的最高位第 31 位是符号位。在求最大异或值时我们希望异或结果的数值尽可能大而符号位为 0 的结果一定是正数大于任何负数。因此对于符号位我们尽量让异或结果为 0即num和target的符号位相同所以target index。而对于其他位30 ~ 0我们希望异或结果为 1所以选择相反位target 1 - index。#include iostream #include limits #include new #include vector using namespace std; struct Trie { std::vectorTrie* next; int val; Trie() { val -1; next.resize(2, nullptr); } }; void insert(Trie* root, int num) { if (!root) { return; } for (int i 31; i 0; --i) { int index (num i) 1; if (!root-next[index]) { root-next[index] new (std::nothrow) Trie; } root root-next[index]; } root-val num; } int search(Trie* root, int num) { if (!root) { return -1; } for (int i 31; i 0; --i) { int index (num i) 1; int target 1 - index; if (i 31) { target index; } if (root-next[target]) { root root-next[target]; } else { root root-next[1 - target]; } } return root-val; } class Solution { public: Solution() { } int solve(std::vectorint nums) { Trie* root new (std::nothrow) Trie; int result -1; int prefix_sum 0; insert(root, 0); for (auto num : nums) { prefix_sum ^ num; insert(root, prefix_sum); int tmp search(root, prefix_sum); result max(result, tmp ^ prefix_sum); } return result; } }; int main() { int a, b; while (cin a) { // 注意 while 处理多个 case std::vectorint nums; nums.reserve(a); for (int i 0; i a; i) { cin b; //cout b : b endl; nums.push_back(b); } Solution sol; cout sol.solve(nums) endl; } } // 64 位输出请用 printf(%lld)

相关新闻

最新新闻

基于SpringCloud的分布式演唱会抢票系统(毕业设计项目源码+文档)

基于SpringCloud的分布式演唱会抢票系统(毕业设计项目源码+文档)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/27 18:28:29
EV 驱动电机零转速满转矩起步(Align→OpenLoop→FOC)Simulink 建模

EV 驱动电机零转速满转矩起步(Align→OpenLoop→FOC)Simulink 建模

目录 一、为什么“零转速满转矩起步”要单独做 二、起步控制原理简述 2.1 预定位(Align / Pre‑Excite) 2.2 开环旋转(Open‑Loop Voltage‑Oriented) 2.3 切闭环 FOC 三、关键参数 四、Simulink 建模(手把手) 4.1 Step 1️⃣ —— PMSM + Inverter + 坐标变换(同…

2026/8/27 18:28:29
为什么滤波器电容必须做真空注胶滤波器电容是变频器、新能源逆变器、车载充电机(OBC)、UPS、光伏储能、通信电源等高压设备的关键元件

为什么滤波器电容必须做真空注胶滤波器电容是变频器、新能源逆变器、车载充电机(OBC)、UPS、光伏储能、通信电源等高压设备的关键元件

一、为什么滤波器电容必须做真空注胶滤波器电容是变频器、新能源逆变器、车载充电机(OBC)、UPS、光伏储能、通信电源等高压设备的关键元件。它长期工作在高电压、高频率、高温升环境下,对内部绝缘性、抗振性、散热性能、防潮等级有极高要求。…

2026/8/27 18:28:29
Level 4自动驾驶系统设计46——L2/L3 级软硬件架构 2

Level 4自动驾驶系统设计46——L2/L3 级软硬件架构 2

8.3 片外高刚性独立安全 MCU(如英飞凌 TC 系列)的接口分配与底软窗口看门狗(WWD)硬核防御 8.3.1 跨芯片级故障蔓延与 MCU “最后一道防线”的物理刚性 在 8.2 节关于 Level 3 级单芯片方案性能瓶颈的白盒解耦中,我们证实了在单片大算力 SoC 挂载 32G/64G 内存的商业包络…

2026/8/27 18:28:29
解密prompt系列27. LLM对齐经验之如何降低通用能力损失

解密prompt系列27. LLM对齐经验之如何降低通用能力损失

前言 前面我们已经聊过众多指令微调的方案,这一章我们重点讨论下如何注入某一类任务或能力的同时,尽可能不损失模型原有的通用指令理解能力。因为在下游或垂直领域应用中,我们设计的推理任务风格或形式,往往很难通过prompt来稳定实…

2026/8/27 18:28:29
智能体编排先把运行边界写进系统

智能体编排先把运行边界写进系统

智能体编排先把运行边界写进系统 智能体服务出现内存告警时&#xff0c;先区分单次请求峰值、长期泄漏和容器配额不足。下面的命令用于检查状态&#xff0c;名称和输出需替换为自己的环境信息。 kubectl describe pod <pod-name> -n <namespace>如果调度器允许任务…

2026/8/27 18:23:29