最大匹配
文章平均质量分 80
ophunter
不会DP!
展开
-
hdu2813One fihgt one(KM)
题目请戳这里 题目大意:曹操带了m个手下去打吕布,吕布有n个手下(n 题目分析:就是要求一个最小权完备匹配。KM算法解决之。注意建图的时候边权值取相反数,因为KM是求最大权匹配的,求出最大权完备匹配后再取反输出。 关于KM算法,百科讲的还不错,不过还是有点抽象,要详解的话推荐戳这里 图建好了就是跑模版的事了。 详情请见代码: #include #include #include #in原创 2013-08-29 22:36:45 · 866 阅读 · 0 评论 -
hdu3488Tour(KM)
题目请戳这里 题目大意:给n个城市,m条有向边,求一些有向环,保证每个点只出现在一个环中并且保证总权值最小。 题目分析:每个点在一个环中,所以对于每个城市都有且仅有一条入边和出边,将一个点拆成2个点,建图跑一下KM即可。因为求最小值,所以所有边权值取反,求最大权完美匹配。因为题目保证有解,所以不需要考虑无解。 trick:有重边。 详情请见代码: #include #include #原创 2013-08-31 19:58:59 · 884 阅读 · 0 评论 -
hdu3722Card Game(KM最大带权匹配)
题目请戳这里 题目大意:给n个字符串,再给一个n的排列:p1,p2....pn。然后将第i个字符串贴到第pi个字符串后面,然后形成一个环。pi的首字符和第i个字符串的末尾字符就相邻,如果这2个字符相等,各自再向内延伸一个位置,知道这个环首尾字符不等为止。延伸的位置为该环的得分(如果pi == i,得分为0),对于每个排列,有n个这样的环,求得分和最大为多少。 题目分析:最大带权匹配!!以为是个原创 2013-10-08 00:51:16 · 1388 阅读 · 0 评论