km匹配
Anxdada
多读书多看报, 少吃零食多睡觉
展开
-
HDU -- 2853 Assignment 【思维 + KM算法】 好题!
传送门//题意:尽量在保证之前的匹配的情况下使得最优匹配. 分析样例: 对应第一组: 2 1 3 3 2 4 1 26 2 显然有两种匹配方式能够达到最优匹配(32): ①第一行第三个,第二行第一个,第三行第二个。不相似的个数:2 ②第一行第一个,第二行第三个,第三行第二个。不相似的个数:3 那么尽量更小的一样,那么输出2 32-原匹配(6) 2 26;//思路: 分析了后你可能知原创 2017-08-02 14:06:25 · 353 阅读 · 0 评论 -
LA 4043 Ants 【思维 + KM匹配】
传送门 题意:n个蚂蚁n棵树,蚂蚁与树要配对,在配对成功的一对之间连一条线段,要求所有线段不能相交。按顺序输出蚂蚁所匹配的树 思路:这个题目真是技巧啊,如果知道要求的就是整体最优,那么就容易做了。而不能用贪心来为每个蚂蚁选择最近的树,这样可能八成还是相交了 整体最优能让每条线段不相交,证明: 假设a1-b1与a2-b2相交。则dis(a1,b1)+dis(a2,b2)>=di...原创 2018-08-10 13:52:32 · 206 阅读 · 0 评论 -
KM(带权最大二分匹配) 模板
板子:const int maxn=300+5; int g[maxn][maxn]; int link[maxn],lx[maxn],ly[maxn]; bool visx[maxn],visy[maxn]; int nx,ny,d; bool Find(int x) { visx[x] = true; for(int i=1;i<=ny;i++){ if(visy原创 2017-08-02 10:28:40 · 560 阅读 · 0 评论