一些注意事项
1.重载小于运算符需要满足一下三个条件。
1、非对称,若A<B为真,则B<A为假。
2、可传递,若A<B,B<C,则A<C。
3、A<A永远为假。
2.log10(x)求出的是x的10的指数,这个数加上1才是x的位数。
3.注意SPFA算法每个节点可以多次进入队列,所以必须要有vis数组判断,其次当节点进入队列次数超过n说明有负环。
4.网络流似乎有一种逻辑关系在里面。顶点表示被选择项(可以赋予顶点以内涵),边用来表示被选择项之间的关系。
(1)如两个顶点之间连接一条边表示,要么不选,要么两者都选上(逻辑与)。
(2)新增一个顶点,该顶点与两个被选择项以边权为1 的边相连,该顶点向外(源点、汇点这样)只连接一条边,边权置为1,则被迫二选一了(二选一)。
(3)再例如二分图,要求选出一些边出来,使得每个顶点只与一条边相连。实际上每个顶点可以与多条边相连,但是只能选择一条边,于是就是多选一。所以在流入或者流出的一侧边权只是1,而另一侧则多种多样。但是最后只有一条边可以被选上。
(4)为了确保二选1而不是二选0.这里就是网络最大流的最大的含义了。当选这条边和不选对其他部分不会造成影响的时候,那么这条边必须被选。上面的逻辑与中当然也有可能两者都不选,但是根据网络最大流的最大性质,就可以通过构造使其被选。
浙公网安备 33010602011771号