摘要:
View Code /*[HRBEU1220]Adventure题意:有N*M的矩阵,以及N+M个开关,前N个开关每按一次,对应的行上的数字都减1(如果是0不减),后M个开关每按一次,对应的列上的数字都减1(如果是0不减)。问将整个矩阵置0最少需要按几次。分析:首先看KM算法的定义:KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[i],顶点Yj的顶标为B[j],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[i]+B[j]>=w[i,j]始终成立。KM算法的正确性基于以下定理 阅读全文