HDU 5544 Ba Gua Zhen (dfs&独立回路&异或消元)
来源:互联网 发布:数据库update语法 编辑:程序博客网 时间:2024/05/20 19:30
这道题和BZOJ 2115
基本一样,容易一点,直接存个代码:这个代码要好看一点(好像并没有什么区别。。。)
#include <bits/stdc++.h>#define LL long long#define FOR(i,x,y) for(int i = x;i < y;++ i)#define IFOR(i,x,y) for(int i = x;i > y;-- i)using namespace std;const int maxn = 50050;const int maxm = 100010;int head[maxn],edge_cnt,n,m,tot;struct Edge{ int u,v; LL val; int nt;}edge[maxm<<1];void addedge(int u,int v,LL val){ edge[edge_cnt].u = u; edge[edge_cnt].v = v; edge[edge_cnt].val = val; edge[edge_cnt].nt = head[u]; head[u] = edge_cnt++;}void Build_Graph(){ memset(head,-1,sizeof(head)); edge_cnt = 0; scanf("%d%d",&n,&m); FOR(i,0,m){ int u,v; LL val; scanf("%d%d%I64d",&u,&v,&val); addedge(u,v,val); addedge(v,u,val); }}LL val[maxm<<1];LL d[maxn];bool vis[maxn];void dfs(int u,int fa){ vis[u] = true; for(int i = head[u];i != -1;i = edge[i].nt){ int v = edge[i].v; if(v == fa) continue; if(!vis[v]){ d[v] = d[u] ^ edge[i].val; dfs(v,u); } else{ val[tot++] = d[u]^d[v]^edge[i].val; } }}int xorguass(int n){ int row = 0; for(int i = 60;i >= 0;-- i){ int j; for(j = row;j < n;++ j){ if(val[j] & (1LL<<i)) break; } if(j != n){ swap(val[j],val[row]); for(j = 0;j < n;++ j){ if(j == row) continue; if(val[j] & (1LL<<i)) val[j] ^= val[row]; } ++ row; } } return row;}void work(){ memset(vis,false,sizeof(vis)); tot = 0; d[1] = 0; dfs(1,-1); n = xorguass(tot); LL ans = 0; FOR(i,0,n) ans ^= val[i]; printf("%I64d\n",ans);}int main(){ //freopen("test.in","r",stdin); int T,tCase = 0; scanf("%d",&T); while(T--){ printf("Case #%d: ",++tCase); Build_Graph(); work(); } return 0;}
0 0
- HDU 5544 Ba Gua Zhen (dfs&独立回路&异或消元)
- hdu 5544 Ba Gua Zhen(线性基+dfs)
- hdu 5544 Ba Gua Zhen
- hdu 5544 Ba Gua Zhen
- [HDU] 5544 Ba Gua Zhen
- Ba Gua Zhen HDU
- HDU 5544 Ba Gua Zhen (DFS找环+线性基)
- hdu5544 Ba Gua Zhen(高斯消元)
- 【HDU5544 2015CCPC 南阳国赛E】【树上dfs找本质不同环 高斯消元 时间戳优化】Ba Gua Zhen 连通图上最大异或环
- UESTC OJ1219 Ba Gua Zhen
- BZOJ 2115 Xor(dfs&独立回路&异或消元)
- hdu5544 - Ba Gua Zhen 按位贪心+xor性质
- HDU 5544 (独立回路 高斯消元)
- HDU 5544 独立回路,高斯消元,线性基
- HDU 1878 欧拉回路(并查集或dfs)
- HDU 1878 欧拉回路(DFS)
- HDU 3949 XOR (异或消元)
- hdu-1878-欧拉回路(并查集||dfs)&&欧拉回路
- Java Servlet的配置文件web.xml配置内容和具体含义
- ant编译android项目
- #define new DEBUG_NEW
- 【黑马程序员】C语言数组
- ios 滑动返回出现问题以及解决方法
- HDU 5544 Ba Gua Zhen (dfs&独立回路&异或消元)
- webservice传list问题
- jquery实现触发、失去焦点操作并执行ajax操作
- T/TCP TCP事物协议的学习
- 高通camera如何匹配I2C总线
- iOS相册图片的选取与设置
- 那些年我们考过的图书馆测试
- LCS dp Batman lightoj 1159
- iOS8之UIPopoverPresentationController