Codeforces 1299 D 环游世界
题面
对于图上路径异或问题,先抓一棵生成树,对于每条非树边算出接在树上形成的环异或值,将这些值加入线性基中求解。
这里同样的做法,在选生成树时优先选与111号点相连的边。对于非树边分情况讨论:
存在点 x,yx,yx,y,x,y,1x,y,1x,y,1 中两两有连边。先将 x,yx,yx,y 子树内的非树边加入线性基,若保留 1,x1,x1,x 之间的边或 1,y1,y1,y 之间的边,则该线性基最终会保留下来。若保留这两条边,则 x,yx,yx,y 之间的边也会保留下来。
直接将非树边加入线性基即可。
原创
2021-05-10 12:11:27 ·
163 阅读 ·
0 评论