在久远的2010年,湖南省队集训的时候出了一道题叫c国,其本质是求平面图的最小割
//平面图,可以画在平面上边不相交的图
但是由于题目规模太大,一般的网络流都是过不了的……
但是当时雅礼机子太好,以至于dinic什么的写得好的有人可以水过
这种平面图网络流其实是有更优秀的算法可以解决的,将网络流转化为最短路
当时讲了这种算法,但是CNX先輩木有写,
NOI2010又出了一道几乎一模一样的题(altitude),CNX当时就瞎了……
下面写一下平面图网络流->最短路
首先对于平面图G,可以找到它的对偶图G*
G*中的每个点对应G中的面
然后对于G中的每条边,都会“挨着”两个面,这两个面对应着G*中的两个点,那么对这两个点连一条边
有一种情况是G中的边只挨着“外面”,那么连一条自环
这里有个图比较形象
然后发现,G*中的环对应着G中的割
这个性质如何应用在网络流上呢
在网络流的图G中,加一条边连接s,t
然后对这个图求其对偶图G*
去掉加的那条边 //实际上就是相当于没加<