我用Dinic写的.G++ 1800ms 很慢,c++直接超时.优化后的 141ms,很快! 对于此题,建图方法很巧妙,通常想到求距离,那就会朝距离的方向建图,但是这题根据牛个数来建图,然后二分距离. 先求出任意点之间的最短距离.对于挤奶器,牛,很明显的分为2部分.挤奶器的牛来自牛这部分.先另外设源点和汇点.对于牛部分,都与源点相连,容量为1.然后二分 距离,对于挤奶器和牛之间的容量,如果挤奶器和牛之间的距离小于或等于二分的距离,那么此路可以通过牛.然后挤奶器与汇点之间的容量为m值.这样图就建完…