bzoj2115( maxize xor)
来源:互联网 发布:js获取页面滚动条位置 编辑:程序博客网 时间:2024/06/13 16:17
how amazing the problem is!
#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>#include<algorithm>#include<queue>using namespace std;typedef long long ll;const int N=100005;int n,m;int head[N],tot;struct aa{int to,pre;ll dis;}edge[N*2];void addedge(int u,int v,ll d){edge[++tot].to=v;edge[tot].pre=head[u];edge[tot].dis=d;head[u]=tot;}int dfn[N],cnt;ll f[N],tmp[N*2],num;void dfs(int u,int fa){dfn[u]=++cnt;for (int v,i=head[u];i;i=edge[i].pre)if ((v=edge[i].to)!=fa){if (dfn[v]==0){f[v]=f[u]^edge[i].dis;dfs(v,u);}else tmp[++num]=f[u]^f[v]^edge[i].dis;}}ll b[65];int main(){scanf("%d%d",&n,&m);int u,v;ll d;for (int i=1;i<=m;i++){scanf("%d%d%lld",&u,&v,&d);addedge(u,v,d);addedge(v,u,d);}dfs(1,0);for (int i=1;i<=num;i++){for (int j=62;j>=0;j--) if ((tmp[i]>>j)&1) {if (b[j]) tmp[i]^=b[j];else {b[j]=tmp[i];break;}}}for (int i=62;i>=0;i--)if ((f[n]^b[i])>f[n]) f[n]=f[n]^b[i];printf("%lld",f[n]);return 0;}
1 0
- bzoj2115( maxize xor)
- BZOJ2115 Xor
- BZOJ2115 Xor
- 【bzoj2115】 Xor
- 【bzoj2115】【Wc2011】Xor
- bzoj2115【WC2001】Xor
- 【bzoj2115】[Wc2011] Xor 线性代数
- BZOJ2115: [Wc2011] Xor
- 【bzoj2115】[Wc2011] Xor
- BZOJ2115: [Wc2011] Xor
- 【WC2011】bzoj2115 Xor
- [题解]bzoj2115(WC2011)Xor
- [BZOJ2115][Wc2011] Xor && dfs+高斯消元
- 【高斯消元】【图论】[BZOJ2115]Xor高斯消元
- bzoj2115 Xor dfs&线性基
- 【bzoj2115】[Wc2011] Xor 高斯消元+dfs
- 线性基 bzoj2115 [Wc2011] Xor
- BZOJ2115 [Wc2011] Xor 【线性基】
- java的深拷贝与浅拷贝
- opencv 填充矩形 填充多边形
- CollapsingToolbarLayout时Toolbar.setTitle不生效
- leetcode148~Sort List Add to List
- 用Jersey、Grizzly在eclipse中开发第一个RESTful服务helloworld
- bzoj2115( maxize xor)
- OpenCV3.0+MFC+VS2010打开图像
- Java异常总结
- phpstorm 配置apache路径
- Ubuntu 14.04 网易源
- 如何在5分钟内完成H5制作?
- 带你高效学习MVP+RxJava+Retrofit
- Nexus6 Android原生系统刷机方法
- [linux命令] awk