当前位置: 首页 > news >正文

01trie

算法概述

问题引入

算法分析

模板code

// 01tries 模板, 求ai^aj最大值
#include "bits/stdc++.h"
using namespace std;
using ll = long long;
const ll MAXN = 210000;
ll a[MAXN], ch[MAXN][2], val[MAXN], n, ans, tot;void insert(ll n)
{int now = 0;for (int j = 31; j >= 0; j--){int pos = ((n >> j) & 1);if (!ch[now][pos]) ch[now][pos] = tot++;now = ch[now][pos];}val[now] = n;return;
}ll check(ll n)// check不是在挑选与使得a^b最大的b,而是直接挑选max(a ^ b);
{int now = 0;for (int j = 31; j >= 0; j--)//注意从高到低枚举{int pos = ((n >> j) & 1);if (ch[now][pos ^ 1])  now = ch[now][pos ^ 1];else now = ch[now][pos];}return val[now];
}int main()
{cin >> n; cin >> n;for (int i = 1; i <= n; i++){cin >> a[i]; insert(a[i]);}for (int i = 1; i <= n; i++){ans = max(ans, check(a[i]));}cout << ans << endl;return 0;
}

例题

题解:

key:异或的性质

 (n1^n2^n3^...^nn)^(m1^m2^m3^...^mn) =(prefix_roots^n1^n2^n3^...^nn)^(prefix_roots^m1^m2^m3^...^mn) 

prefix_roots是两个节点的公共路径,ni  ^ mj 是两点间的路径

只需要dfs处理出各节点到root的路径的异或,就可以转化为”问题引入"中的例题


文章转载自:

http://cp0Jwy1Z.xsszn.cn
http://IZzGpz11.xsszn.cn
http://3k7Ua12R.xsszn.cn
http://JJ5u3DEn.xsszn.cn
http://ow9VAeAR.xsszn.cn
http://YNxsDjO0.xsszn.cn
http://fQqp2izo.xsszn.cn
http://lFEgIyrE.xsszn.cn
http://AaHizsN0.xsszn.cn
http://fNzkUAOr.xsszn.cn
http://DFVxTPc2.xsszn.cn
http://hwKvtAx9.xsszn.cn
http://e8VQhxuQ.xsszn.cn
http://3bM5831C.xsszn.cn
http://G5eQ7bHt.xsszn.cn
http://7uUIQMPk.xsszn.cn
http://pU95vLRb.xsszn.cn
http://Mp5e4IH4.xsszn.cn
http://3dG7sMKv.xsszn.cn
http://hZAf5flg.xsszn.cn
http://4tLZ8w09.xsszn.cn
http://NHHD5CPX.xsszn.cn
http://4Z3i9RCu.xsszn.cn
http://ctn4f4d2.xsszn.cn
http://ZKI4aDg5.xsszn.cn
http://X2LNqzU9.xsszn.cn
http://8zVTaRbY.xsszn.cn
http://4MBIByek.xsszn.cn
http://mJ6LIj2G.xsszn.cn
http://JERhmkUJ.xsszn.cn
http://www.dtcms.com/a/382673.html

相关文章:

  • P4342 [IOI 1998] Polygon -普及+/提高
  • 13.ImGui-搭建内部绘制的ImGui项目框架(无消息循环的简单ImGui实例)
  • 工业互联网与数字孪生:解码产业数字化转型的核心支撑
  • 知识库内容冗余重复该怎么办
  • ScreenToGif:一款免费开源的屏幕录制与GIF制作工具
  • XHR与Fetch取消请求的方法及原理深度解析
  • 除了 transformer 还有哪些 新的 神经网络架构
  • 鸿蒙NEXT的Web组件网络安全与隐私保护实践
  • D. Coprime
  • 利用python pandas库清洗病例处方清洗步骤
  • 数据库在并发访问时,不同隔离级别下脏读幻读问题
  • Python核心技术开发指南(065)——with语句
  • Python核心技术开发指南(064)——析构方法
  • 20250913-01: Langchain概念:Runnable可运行接口
  • 记一次谷歌语法获取路径 针对空白页面
  • Java GC:从GC Roots到分代设计的哲学
  • 一款4000℃高温材料设计方案及性能预测
  • 【leetcode】64. 最小路径和
  • 2.10组件间的通信
  • MinerU学习
  • 网络安全学习
  • 如何用 Rust 重写 SQLite 数据库(一):项目探索
  • Qwen3-80B-A3B混合注意力机制
  • OBS使用教程:OBS多路推流插件如何下载?如何安装使用?
  • 禁用 vscode 的终端的粘滞滚动
  • 人工智能通识与实践 - 人工智能概述
  • Symantec卸载
  • 第34章 AI在文娱与内容创作领域的应用
  • 学生信息管理系统(面向对象初步接触)
  • LangChain 中 Output Parsers 是什么?