UperFicial @ 2021-04-07 12:30:25
我建图用的链式前向星,是这么写的:
inline void add_edge(int u,int v,ll w)
{
edge[++tot].nxt=head[u];
head[u]=tot;
edge[tot].to=v;
edge[tot].cost=w;
return;
}
当我初始
by 幻影星坚强 @ 2021-04-07 12:35:23
你找反向边是通过异或一找的 @UperFicial
by iorit @ 2021-04-07 12:35:59
初始为1才能用i^1
访问反边啊/yiw
by zimujun @ 2021-04-07 12:36:30
@UperFicial 你一次加了两条边,取反边的时候是直接用的 i ^ 1
,那么要是 tot = 0 的话边是这么对应的
1 2
3 4
5 6
但是 1 ^ 1 = 0, 2 ^ 1 = 3
。
懂了吗
by xzggzh1 @ 2021-04-07 12:37:00
你找反向边是通过异或一找的 @UperFicial
异或
by UperFicial @ 2021-04-07 12:39:43
@xzggzh1 @zimujunqwq @panshuo @幻影星坚强 谢谢神仙!
by Prean @ 2021-04-07 12:50:36
之前这么写能AC的原因是数据过水,根本没动过反向边。。。
别问我咋知道的,我也背坑过