4.5腾讯笔试 第三题

将机器与任务作为结点,可分配关系作为连线,构造二分图。使用匈牙利算法先找到一个最大匹配。将任务结点按照value值排序,从value值高的遍历一遍,若有未分配任务结点,从该结点开始,寻找一条偶数长度,波浪线与直线交替的路径,其中波浪线表示未分配,直线表示分配,并且尾点的value值较低。如果能找到这样的路径,则将波浪线与直线替换,即得到一个新的匹配,并且能保持最大数量不变,总的value值上升,遍历完就能得到最大的总value值。#春招##实习##笔试题目##腾讯#
全部评论
膜拜大佬,看到这道题的第一思路就这么复杂....我就只能用贪心
点赞 回复 分享
发布于 2018-04-05 19:55
直接是裸的费用流。。。搞这么麻烦。
点赞 回复 分享
发布于 2018-04-05 18:24
老哥  这真的行么…… 就说匈牙利在这个图的复杂度怎么说也是 O(n^2) 吧,再说这个图你要怎么记录,边数极限情况 1e10 级别的……
点赞 回复 分享
发布于 2018-04-05 18:15

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务