图论-最小、最大权匹配
iHge2k
专注数据结构和算法
展开
-
hdu 2426
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2426思路:就是求最大权匹配,不过一开始map应初始化为inf,然后输入遇到负边的情况就continue。。。这样最后只需对map[match[i]][i]!=inf的计数,若不等于N,则输出-1,否则,输出ans.View Code 1 #include 2 const原创 2014-05-26 17:54:44 · 443 阅读 · 0 评论 -
hdu 2255+hdu 3395
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255一直都想把这题切了,可无奈实力还是不够啊!!!看了好久的KM算法,今天总算是有点眉目了,然后就一气呵成把这题切了。。。以下是KM模版:View Code 1 #include 2 #include 3 const int N=307; 4 const int in原创 2014-05-26 17:54:40 · 403 阅读 · 0 评论 -
poj 3686(拆点+最小权匹配)
题目链接:http://poj.org/problem?id=3686思路:显然工件为X集,机器为Y集合。由于每个机器一次只能加工一个部件,因此我们可以将一台机器拆成N个点,至于部件与机器之间连多大的边权呢?假设N个部件都是有某台机器先后完成的,设加工每个部件的时间分别为t1,t2,t3,...,tn,那么总时间为t1*n+t2*(n-1)+t3*(n-2)+...+tn.于是我们可以对于X中原创 2014-05-26 18:03:21 · 346 阅读 · 0 评论 -
poj 2195(KM求最小权匹配)
题目链接:http://poj.org/problem?id=2195思路:我们都知道KM使用来求最大权匹配的,但如果要求最小权匹配,只需把图中的权值改为负值,求一次KM,然后权值和取反即可。http://paste.ubuntu.com/5949683/原创 2014-05-26 18:03:19 · 331 阅读 · 0 评论 -
hdu 1533(最小权匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1533题意:给你一个N行M列的矩阵,其中“.”代表空地,“H”代表房子,“m”代表人,其中有n个房子和n个人。现在要求每个人进入一间房子,且人走一步需要支付1美元。求最小需要花费多少美元才能让所有人都进入到房子中(每个人只能进入一间房子,每个房子只能容纳一个人)。思路:就是一个二分图最优原创 2014-05-26 17:54:57 · 476 阅读 · 0 评论 -
poj 2516(拆点+最小权匹配)
题目链接:http://poj.org/problem?id=2516思路:考虑某种货物,由于某个订货商可能接受来自不同地区的货物,而某一地区的货物也可能送给不同的订货商,显然不能直接进行匹配,必须拆点,设某个订货商的订货量为k,就应该把该订货商拆成k个点,这样就能最多接受k个地区的货物供应,同理,地区也应该拆成它的存储量个点。然后就是最小权匹配了(这里要进行K次).http://past原创 2014-05-26 18:03:23 · 403 阅读 · 0 评论