一些注意事项

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.这里就是网络最大流的最大的含义了。当选这条边和不选对其他部分不会造成影响的时候,那么这条边必须被选。上面的逻辑与中当然也有可能两者都不选,但是根据网络最大流的最大性质,就可以通过构造使其被选。

 

posted @ 2020-04-06 12:18  坚持acm训练!  阅读(106)  评论(0)    收藏  举报