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

Luogu P4151 [WC2011] 最大XOR和路径 题解

Link

考虑我们在 01-Trie 上是怎么做的?是不是找到一段从根到 LCA 的东西相等然后处理不相等的后面部分?同理,我们对于这张图尝试用 DFS 处理出每个点的某一种路径答案,然后用线性基尝试代替求最优。

具体地,对于这个题我们两条路径如果在某个节点 \(x\) 相交,则在 \(x\) 记录两条路径的异或差 \(d\)。然后选择一条路径接着走,直到走到 \(n\),记录当前答案为 \(g\),比较 \(g, g \oplus d\) 的大小,较大者路径更优。

通过 DFS 在路径交点处处理出一堆异或差,记有 \(c\) 个这样的标签,则对这 \(2^c\) 个差值插入到线性基中,对 \(query\) 调用初值 \(g\) 求解。

#include <bits/stdc++.h>using i64 = long long;constexpr int N = 5e4 + 7;
constexpr int M = 2e5 + 7;int n, m, t;
int vis[N];
i64 xad[N];std::vector<std::pair<int, i64>> adj[N];struct LiB {i64 w[107];void insert(i64 x) {for (int i = 60; ~i; i--) {if (!(x & (1ll << i)))continue;if (!w[i]) { w[i] = x; return; }x ^= w[i];}}i64 query(i64 x) {i64 res = x;for (int i = 60; ~i; i--) {res = std::max(res, (res ^ w[i]));}return res;}
} li;void dfs(int u, i64 x) {vis[u] = 1; xad[u] = x;for (auto [v, w] : adj[u]) {if (!vis[v])dfs(v, x ^ w);elseli.insert(xad[v] ^ (x ^ w));}
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cin >> n >> m;for (int i = 1; i <= m; i++) {int u, v; i64 w;std::cin >> u >> v >> w;adj[u].push_back({v, w});adj[v].push_back({u, w});}dfs(1, 0);std::cout << li.query(xad[n]) << "\n";return 0;
}
http://www.jsqmd.com/news/37838/

相关文章:

  • 2025年11月磨床电主轴厂家新推荐:聚焦国产磨床主轴/进口磨床主轴/内圆磨床主轴/外圆磨床主轴测评!
  • 会员小程序
  • ff
  • MySQL学习,详解分页查询(limit)
  • 英语_阅读_A new way to see the world:AR_待读
  • 2025年11月腻子粉厂家新推荐榜:聚焦环保腻子粉/植物腻子粉/净醛腻子粉/健康腻子粉/无味腻子粉环保性能深度解析!
  • 深入解析:嵌入式软件架构--按键消息队列2(组合键,按键转义与三种消息模式)
  • 2025聚脲涂料行业优质厂家推荐榜:宁国创遂领衔,手工 / 喷涂 / 天冬聚脲涂料实力派齐聚
  • 2025优质弯管厂家推荐榜:合肥翼达机械五星领跑,安徽企业助力产业升级
  • Redisson源码剖析-可重试机制的实现
  • 2025发泡混凝土优质厂家推荐榜:云南锦乐五星领跑,西南三家企业凭特色实力入围
  • 2025篷房行业优选榜:华烨海特斯五星领跑 铝合金 / 装配式 / 工业篷房领域 4 家实力企业精准适配多场景
  • 2025浸没式/液冷超充/新能源车/超充站领域实力厂家排行榜:中碳创新领衔,四大品牌重塑新能源车补能生态
  • 2025国内AI获客公司排行榜:全平台精准破局,4 家企业领跑抖音/快手/小红书获客赛道
  • HNOI2016 序列
  • 2025年山东画室机构实力推荐:济南大道画室领跑美术艺考培训新标准
  • 编程老鸟请注意
  • stm32使用SPI写W25Q32
  • 2025年济南画室培训机构最新推荐:济南画室/济南艺考画室/山东美术艺考培训/山东画室/专业教学,个性化辅导新标杆
  • Flutter零基础极速入门到进阶实战(视频教程) - 教程
  • 题解 P13524 [KOI 2025 #2] 跳跃
  • SOS DP
  • docker - 1 安装
  • 11月10日
  • 最小二乘困难详解5:非线性最小二乘求解实例
  • ##题解##洛谷P1578##最大子矩形 扫描线法
  • 【Azure Developer】azd 安装最新版无法登录中国区问题二:本地Windows环境遇问题
  • 密码校验函数
  • 英语_阅读_The progress of technology_待读
  • Mac 下载 VMware 11.1.0-1.dmg 后如何安装?超简单教程(附安装包)