摘要:
题意:给出一些部件和他们单个在不同CPU里工作时需要的消耗值以及在两个不同CPU里工作的部件共同工作时的消耗值..问怎么分配可以使总的消耗值最少..输入: n m 表示有n个部件 m个工作连通消耗值 接下来n行每行给出 a b 表示在第一台CPU消耗a 在第二台CPU消耗b 然后m行给出a b w 表示a部件和b部件在不同的机子连通工作需要消耗w..输出: 最少总消耗思路: 最大流 = 最小割Tips: 加入边的时候应该同时加入反向边 还有因为多加了超级源点和超级汇点 所以边也增多了~ 要相应增加边的条数..Code:View Code 1 #include <st... 阅读全文
摘要:
题意:给出一个图 该图的每个格子上有值当扫射一行或一列的时候 格子上的值非0的就-1输入: 给出n m 表示该图为n*m的图 接下来n*m的图写上格子的值输出: 最少扫射几次可以使所有点权变成0思路: 假使行为Ui 边为Vi 则题目可以看成求 Ui+Vj>=Wij 把边看成点 把点看成边 所以用最小点权匹配.. 因为n 和 m是不一定的~所以把该二分图补点..<所谓补点....就是....v = max(n, m)>Tips: 最小点权覆盖 = 最大边权匹配 如果要求最大点权覆盖 则把图变为负值 然后求总值的时候该res -= G[link[i]][i];Code:Vie.. 阅读全文