tarjan为什么取反后就等于反边?

这个刚开始困扰了我好久。首先我们要知道在求BCC时我们建的时是无向图,就是说两个点之间有两条边,方向相反,而我们在存边的时候一般都是add(u,v)后立即add(v,u),也就是说我们存的边是相邻的,互为反边。而取反就是一个很神奇的东西,先看图。 如图下面的数据我们就可以看出一些有趣的地方了。 0与1取反是1,1与1取反是0,而偶数二进制最后一位是零,取反后变成1相当于加了1,而奇数二进制最后以为
相关文章
相关标签/搜索