我们在定义最大权闭合子图的时候,常常会类比“选课”这一过程。比如说要想学A这一门课程,就必须先学B这一门课程。对应到图上就从A向B连一条边。
但是这样的类比是有问题的。比如说要想学A,先得学B;要想学B,先得学A。那么对应到图上就是A和B有一个环。这种情况在闭合图中是合法的。但是选课肯定不能选上A或者B了。甚至,A之后的点也不能被选了。
所以,我们在求解此类相关问题的时候,先一遍拓扑排序,标记一下能走到的点。然后建流网络的时候,只需将已被标记过的点建好就行了。
我想,这才是最大权闭合子图的完美版本吧!