wc的题好难啊,需要比较清奇的想法

首先我以为从二进制位从大到小跑路,记录路径,层层筛选,然后只能跑标记的边、、

但这样做是错的,,因为有些路有环,需要被标记的是路径而不是边,所以会跑错

然后关于异或,需要熟练地将两边为0联想到路上重复路径,,然后及时想到对一条道路进行修改,然后需要想到修改道路需要沿原路一部分异或,另一部分断点起止新路异或

然后就可以发现环了、

然后每次修改都可以等价的找到一个环,所有的小环可以相互异或得到任何大环

然后就可以把所有环离散下来、

求最大异或子集,就要考虑线性基+贪心

线性基只知道定义概念,用法操作基本不会、板子还打错好几遍、、



码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define ll long long
ll tot,v[200005],jilu[80],er[80],ans,i,j,c,cc[200005],d[200005];
int n,m,a,b,hou[200005],xia[200005],zhong[200005],cnt;
//bool vis[50005];
void jian(int a,int b,ll c)
{++tot,hou[tot]=xia[a],xia[a]=tot,zhong[tot]=b,v[tot]=c;
}
void jia(int a,int b,ll c)
{jian(a,b,c);jian(b,a,c);
}
void dfs(int o)
{   //cout<<o;int nd,i;for(i=xia[o];i!=-1;i=hou[i])
{
nd=zhong[i];
if(!d[nd])
d[nd]=d[o]^v[i],dfs(nd);
else cc[++cnt]=d[o]^v[i]^d[nd];
}
}
int main()
{
scanf("%d%d",&n,&m);
memset(xia,-1,sizeof(xia));
er[0]=1;
for(i=1;i<=64;i++)er[i]=er[i-1]*2;for(i=1;i<=m;i++){scanf("%d%d%lld",&a,&b,&c);jia(a,b,c); }   dfs(1);for(i=1;i<=cnt;i++)
{   for(j=63;j>=0;j--)if(cc[i]&er[j]){//cout<<er[j]<<endl;if(!jilu[j]){jilu[j]=cc[i];break;}else cc[i]^=jilu[j]; }
}ans=d[n];for(i=63;i>=0;i--){
ans=max(ans,ans^jilu[i]);      }   printf("%lld\n",ans);
} 

2017.9.25 Xor 失败总结相关推荐

  1. 《麻省理工科技评论》:2018年18大科技趋势,2017年7大失败技术

    来源:科技周 摘要:2018 年伊始,许多科技大势仍在继续,正如比尔·盖茨所说,"大多数人高估了某种技术的短期价值,低估了其长期价值."同样,大多数的年度预测会高估了一年内一些事件 ...

  2. pycharm 2017年5月注册码(2017.4.25更新)

    注册码方式 注意,需要在hosts中添加: 0.0.0.0 account.jetbrains.com pycharm 2017 注册码(2017.4.25更新),其余注册码已失效 CNEKJPQZE ...

  3. 【2017.04.25】蘑菇街一面面经

    面试时间:2017.4.25  18:00 面试地点:视频面试 面试时长:45分钟 面试岗位:后端开发工程师 1.自我介绍+项目介绍 2.hashmap的哈希冲突是怎样避免的 3.hashmap.ha ...

  4. 找不到mfc140u.dll或者Microsoft Visual C++ 2017 Redistributable一直安装失败解决

    找不到mfc140u.dll 安装后提示这个问题,我将xshell卸载重新安装后发现安装过程中提示Microsoft Visual C++ 2017 Redistributable一直安装失败,所以问 ...

  5. 2017.10.25 书柜的尺寸 失败总结

    这题只能想到第一步.. 首先题目要求的是最小化两个变量的关系,那就必须转化成一个变量的关系,化动为静 比如:枚举限制因素,枚举所有值,再或者就是贪心 一开始想到枚举限制因素,即枚举三个集合中高度最大的 ...

  6. 2017.9.25 随机数生成器 失败总结

    .这个题要用bsgs 如果知道bsgs的话化式子就很有方向了 首先把霍纳法则拆成数列 然后得到 x1*a^n + a^n-1 *b+ a^n-2 *b+.. a*b==t  (%P) 用等比数列公式, ...

  7. 2017.3.25 最长递增子序列 失败总结

    主要被二分图匹配影响太深重了,竟没有用连续边反映问题(其实想过,只是觉得连续边没法控制长度..) 其实只要只让f[]为1的和为s的进行连边,保证出来的肯定就是s的....(没有充分利用dp) 另外这个 ...

  8. 2017.11.25 计算机一级,2017计算机一级MSOffice考试试题

    2017计算机一级MSOffice考试试题 (16)十进制数59转换成二进制整数是 A)0110011 B)0111011 C)0111101 D)0111111 (17)根据汉字国标GB 2312- ...

  9. CentOS postfix 邮件服务配置问题局域网pc telnet 25端口失败

    今天用CentOS搭建postfix 邮件系统,开始配置都顺利,本机测试也正常. [root@localhost ~]# telnet localhost 25 Trying 127.0.0.1... ...

最新文章

  1. BCH协议升级倒计时——超过68%的BCH全节点已支持升级
  2. 域名解析—MX和cname记录冲突
  3. 段错误 php,php扩展出现段错误怎么办
  4. Linux之ubuntu的网卡配置
  5. C#时常需要调用C++DLL
  6. oracle用中文linux,linux+oracle中文乱码
  7. 提高COOKIE的安全性--相关解决方案
  8. String.format(“0:D2}“,a)字符串格式化
  9. APICloud 实现文档下载和预览功能
  10. 计算机图标到桌面,显示桌面图标不见了怎么办?显示桌面图标不见了解决方法...
  11. 【学习笔记】monitor
  12. 【Android学习日记】
  13. 【解决方法】浏览器网页界面显示未连接到互联网
  14. 第十三课功能键之开根号——C#计算器编程教学
  15. 竞争网络——Hamming网络
  16. 经理人与元老能双赢联动吗?
  17. web前端开发经验总结
  18. 我所知道坦克大战(单机版)之Client窗口的创建、关闭、禁止调整大小
  19. 问答系统实践(二)构建聊天机器人小天1.0
  20. 高品质音乐播放器:Audirvana for Mac

热门文章

  1. 算法 - 斐波那契数列问题(转自微信公众号码农翻身)
  2. 元组中[-1]的作用
  3. java项目之Bank银行代码
  4. Java项目之家庭记账软件
  5. 【idea基础知识】在maven项目中额外增加jar包
  6. jQuery基础 - 改变CSS样式
  7. day7 java的封装
  8. 使用嵌套循环,打印四行五列星星矩形(每次只能打印一个*)
  9. 主板电源开关接口图解_组装电脑时主板跳线如何接?DIY装机主板接线教程
  10. 怎么修改监控服务器的密码,服务器状态监控怎么设置密码