https://www.lydsy.com/JudgeOnline/problem.php?id=2115

https://www.luogu.org/problemnew/show/P4151

这道题当年还是新题,现在都成线性基套路题了。

参考:https://blog.sengxian.com/algorithms/linear-basis

一个1~n路径值可以拆成一条1~n的路径值^几个环(因为去到环和回来的路的值被异或回去了)。

于是就变成了处理出所有环的异或值和所有1~n的无环路的异或值,然后把环的异或值扔到线性基里面,剩下的就是套路了。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<cctype>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=;
const int M=;
const int BASE=;
inline ll read(){
ll X=,w=;char ch=;
while(!isdigit(ch)){w|=ch=='-';ch=getchar();}
while(isdigit(ch))X=(X<<)+(X<<)+(ch^),ch=getchar();
return w?-X:X;
}
struct node{
int to,nxt;
ll w;
}e[M];
int cnt,n,m,head[N],tot,num;
ll a[M],b[BASE+],s[M],t[M];
bool vis[N];
inline void add(int u,int v,ll w){
e[++cnt].to=v;e[cnt].w=w;e[cnt].nxt=head[u];head[u]=cnt;
}
void dfs(int u,ll sum){
vis[u]=;t[u]=sum;
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].to;ll w=e[i].w;
ll ans=sum^w^t[v];
if(vis[v]){
if(ans)a[++tot]=ans;
continue;
}
dfs(v,sum^w);
}
if(u==n)s[++num]=sum;
return;
}
int main(){
n=read(),m=read();
for(int i=;i<=m;i++){
int u=read(),v=read();ll w=read();
add(u,v,w);add(v,u,w);
}
dfs(,);
for(int i=;i<=tot;i++){
for(int j=BASE;j>=;j--){
if(a[i]>>j&){
if(b[j])a[i]^=b[j];
else{
b[j]=a[i];
break;
}
}
}
}
ll ans=;
for(int i=;i<=num;i++){
ll tmp=s[i];
for(int j=BASE;j>=;j--){
tmp=max(tmp,tmp^b[j]);
}
ans=max(ans,tmp);
}
printf("%lld\n",ans);
return ;
}

+++++++++++++++++++++++++++++++++++++++++++

+本文作者:luyouqi233。               +

+欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+

+++++++++++++++++++++++++++++++++++++++++++

最新文章

  1. maven引入多个spring jar包中存在同名文件的问题
  2. 使用AFNetWorking 实现以Basic Authentication方式获取access-token
  3. const 和 readonly 修饰符的用法
  4. [HDOJ5584]LCM Walk(数论,规律)
  5. 初识HTML 5:关于它的三个三
  6. 回溯(UVA129)
  7. Remastersys打包你自己的ubuntu成iso文件,保存原来的所有配置
  8. iOS应用崩溃日志分析-备用
  9. wamp 虚拟目录的设置(转载)
  10. linux如何关闭selinux?
  11. SlopOne推荐算法
  12. 链接libtorrent库时出现的问题
  13. CAReplicatorLayer复制Layer和动画, 实现神奇的效果
  14. 201521123029《Java程序设计》第14周学习总结
  15. 8.3 GOF设计模式二: 适配器模式 Adapter
  16. zabbix3.0监控Windows服务器
  17. WebApi 增加身份验证 (OAuth 2.0方式)
  18. mysql的coalesce使用技巧
  19. php 获取读取文件内容
  20. jQuery 查找属性

热门文章

  1. LOB类型的学习、总结
  2. Linker加载so失败问题分析
  3. hackhttp模板的介绍
  4. HTTP请求中get和post的区别是什么
  5. window上小而美的软件(推荐度按排名)
  6. nodejs promise深度解析
  7. Activity生命周期 与 Activity 之间的通信
  8. A+B 输入输出练习I
  9. lintcode-197-排列序号
  10. RHEL 6.4(i386)安装MySQL 5.6的方法