摘要: 题目大意:秦始皇修路,要求n个城市连通,然后有一个人可以帮忙修一条不花费的路,这个人希望这条路连接的两个城市的人数总和尽量大,所以要求这条魔法路连接的两个城市人数总和除以秦始皇需要修的路的花费这个值最大。 和求次小生成树的代码很类似,先说一下思路,先求最小生成树,然后枚举每条边当做魔法路,则分子确定了(两个城市人数总和),则只需修建其他路花费最小即可,①若该魔法路是最小生成树里的,则直接去掉即可,②若不是最小生成树里的,则添加魔法路后形成了一个环,只需将环上属于最小生成树的边中最大的那条去掉即可。 然后说明一下为什么其他边必须是最小生成树里的,除魔法路若有不属于mst的边,则把它去掉形成两个. 阅读全文
posted @ 2013-09-19 22:59 贝尔摩德 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一. 设无向图G的顶点个数为n,且无孤立顶点,则 ① 设M为G的一个最大匹配,对于G中M的每个未盖点v,选取一条与v关联的边所组成边的集合为N,则W=M∨N为G中的最小边覆盖。 ②设W1为G的最小边覆盖,若G中存在相邻的边就移去其中一条,设移去的边集为N1,则M1=W1-N1为G中的一个最大匹配。 ③边覆盖数+边独立数=n。 二.对于二部图 ①二部图的点覆盖数等于匹配数。 (该定理正确性可从求法上看出,二部图的匹配数可用网络流来做,最大流即最大匹配,而点覆盖数也是用网络流来做,而且建图方式相同,然后求最小割,因为最大流等于最小割,所以原定理成立。) ②点独立数=顶点个数n-匹配数(由二①) 阅读全文
posted @ 2013-09-19 15:03 贝尔摩德 阅读(234) 评论(0) 推荐(0) 编辑