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

最大异或和路径

https://www.luogu.com.cn/problem/P4151


题意概述:给定一张无向有权连通图,求从 $1$ 到 $n$ 的路径中,所有边权异或和最大的路径。


首先选择任意一条从 $1$ 到 $n$ 的简单路径,在这条路径上,从任意节点出发找到环遍历并返回,异或和只变化环上的异或和(因为去找环的这条路径走了两次,无贡献)。因此可以在这条 $1$ 到 $n$ 的简单路径上,任意异或上所有环的异或和,这部分相当于选数异或,线性基处理即可。


另外解释一下简单路径可以任意选的原因。假如从 $1$ 到 $n$ 有两条不同的路径,我们选择了一条更劣的路径,显然这两条路径整体成环,会被放入线性基计算,因此选哪条都是无所谓的。


具体实现上,从 $1$ 开始遍历整张图,维护路径上的异或和,考虑一条边 $[u,v,w]$,如果 $v$ 被访问过了,该边为返祖边,就把 $xr[u] \oplus xr[v] \oplus w$ 插入到线性基,否则继续遍历即可。遍历完成后,贪心求 $xr[u]$ 异或上线性基中元素能获得的最大值即可。


//author:kzssCCC#include <bits/stdc++.h>
using namespace std;
using ll = long long;void solve(){int n,m;cin >> n >> m;vector<vector<pair<ll,int>>> adj(n+1);for (int i=0;i<m;i++){int u,v;ll w;cin >> u >> v >> w;adj[u].emplace_back(w,v);adj[v].emplace_back(w,u);}vector<ll> xr(n+1,-1);xr[1] = 0;vector<ll> f(64,0);auto insert = [&](ll v){for (int i=63;i>=0;i--){if (v>>i&1){if (f[i]==0){f[i] = v;return;}v^=f[i];}}};function<void(int,int)> dfs = [&](int u,int par){for (auto& [w,v]:adj[u]){if (v==par) continue;if (xr[v]==-1){xr[v] = xr[u]^w;dfs(v,u);}else{insert(xr[u]^w^xr[v]);}}};dfs(1,-1);ll res = xr[n];for (int i=63;i>=0;i--){if ((res^f[i])>res){res^=f[i];}}cout << res << '\n';
}int main(){ios::sync_with_stdio(false);cin.tie(0);int t = 1;// cin >> t;while (t--) solve();return 0;
}
http://www.jsqmd.com/news/640777/

相关文章:

  • 终极指南:如何用缠论量化插件实现通达信精准交易分析
  • AI算法入门:深度学习六周学习计划
  • LifeNet Health|人原代肝细胞3D肝球体标准化培养实操方案【曼博生物】
  • 新手建模常见错误:面反、破面、重叠
  • 用ESP-01S和51单片机做个手机遥控灯:从AT指令配置到代码烧录的保姆级避坑指南
  • 抖音无水印批量下载神器:5分钟搞定创作者素材收集的终极指南
  • 手把手教你将大疆无人机GPS数据接入ROS:从PSDK到NavSatFix话题的保姆级封装教程
  • [技术讨论] 【每周分享】变频器驱动电路正负电压正常,波形也正常,偏偏带载就炸机
  • tsMuxer视频封装指南:3步掌握无损音视频轨道处理技术
  • Conditional Domain Adversarial Network (CDAN):从类感知对齐到实战调优
  • CasRel关系抽取详细步骤:从cd CasRel到print(result)的终端实操全记录
  • MiniCPM-o-4.5-nvidia-FlagOS保姆级教程:Linux服务器后台常驻运行+nginx反向代理配置
  • Legacy模式实战|WinPE系统安装全攻略,从分区到引导一步到位
  • 番茄小说下载器:基于Rust的分布式数字资源获取与管理系统技术解析
  • RPG Maker Decrypter终极指南:三步解密RPG游戏加密资源
  • 办公电脑开机密码如何修改-高质量博客版
  • 数组基础 二分查找
  • Python03_流程控制和循环语句
  • 西安交通大学学位论文LaTeX模板:3步完成专业论文排版的高效指南
  • app性能优化:优化布局层次结构
  • React与iframe的完美结合:动态加载外部HTML页面的避坑指南
  • 【架构解析】基于 RPA 与多浏览器并发技术,实现电商多店铺自动化运营的稳定性设计方案
  • [嵌入式系统-253]:内存管理:内存堆的碎片化问题、种类与控制算法
  • **Compose Multiplatform:跨平台UI开发的全新范式与实战指南**在移动
  • 基于KVM虚拟化与APNs协议的iMessage高并发消息投递系统设计与实现
  • 揭秘JVM创世过程之紧急制动机制-异常处理
  • Windows风扇终极控制指南:3分钟掌握FanControl免费软件
  • 智能财务是什么?怎么实操智能财务?
  • Thinkpad T470p杜比音效丢失?三步找回并增强(附FxSound搭配技巧)
  • 浏览器中的专业演示文稿编辑器:PPTist如何重塑在线演示体验