随笔分类 -  图论——二分图

摘要:毒瘤3 TimeLimit:1000MS MemoryLimit:256MB 64-bit integer IO format:%lld Problem Description 字节跳动有n款产品,和m (m>=n)种不同的类型的客户。产品的价值由客户类型决定,第i种产品对于第j种个客户的价为值Ai 阅读全文
posted @ 2019-03-26 23:20 KirinSB 阅读(167) 评论(0) 推荐(0) 编辑
摘要:题意:n个老板n个员工,先给你n*n的数据,i行j列代表第i个老板第j喜欢的员工是谁,再给你n*n的数据,i行j列代表第i个员工第j喜欢的老板是谁,如果匹配到第k喜欢的人就会产生一个分数k-1。现在让你给老板和员工配对,希望得到的分数的平均数最少,并给出哪个老板匹配哪个员工,多种情况按字典序输出。 阅读全文
posted @ 2019-03-06 19:13 KirinSB 阅读(265) 评论(0) 推荐(0) 编辑
摘要:题意:一片r*c的地,有些地方是泥地,需要铺地板。这些地板宽1,长无限,但只能铺在泥地上不能压到其他地方,问你铺满所有泥地最少几块 思路:我们把一行中连续的泥地看成整体,并把所有横的整体里的点编成一个id号,同样把竖的所有整体编号,这样一个点就有横竖两个编号,那么我给这两个编号连边,那么只要涂这个边 阅读全文
posted @ 2019-03-05 20:12 KirinSB 阅读(336) 评论(0) 推荐(0) 编辑
摘要:题意:n*n的网格中有k个点,开一枪能摧毁一行或一列的所有点,问最少开几枪 思路:我们把网格看成两个集合,行集合和列集合,如果有点x,y那么就连接x->y,所以我们只要做最小点覆盖就好了。 参考:POJ3041-Asteroids 代码: 阅读全文
posted @ 2019-03-05 14:23 KirinSB 阅读(166) 评论(0) 推荐(0) 编辑
摘要:题意:有n个点,m条单向边,每个机器人能沿着单向边走,能重复经过一个点,问最少几个机器人走遍n个点 思路:原来以前学的都是不能相交的算法....可相交的做法是跑Floyd把能到达的都加上边,然后跑最小覆盖 代码: 阅读全文
posted @ 2019-03-04 20:38 KirinSB 阅读(181) 评论(0) 推荐(0) 编辑
摘要:题意:给你n张照片的范围,n个点的坐标,问你能唯一确定那几个点属于那几张照片,例如样例中4唯一属于A,2唯一属于C,1唯一属于B,3唯一属于C 思路:进行二分图完全匹配,怎么判断唯一属于?匹配完之后删掉某一条匹配边再跑一次二分图匹配,如果还能完全匹配,那么就不是唯一,反之唯一。 代码: 阅读全文
posted @ 2019-02-28 22:08 KirinSB 阅读(223) 评论(0) 推荐(0) 编辑
摘要:题意:给你n个点,点间m条路,给出在每条路要走的时间。现在有q个任务,要摧毁q个点,每次提供ci和ti表示在时间ti摧毁点ci(必须正好在时间ti才能摧毁),每个点可能需要多次摧毁(同一时间能在同一个点摧毁无数个点),允许在某个点停留任意时间。问现在要派几个小兵去摧毁点,最少派几个? 原题: 思路: 阅读全文
posted @ 2018-11-22 23:52 KirinSB 阅读(376) 评论(0) 推荐(0) 编辑
摘要:题意:每一条边至少有一个端点要涂颜色,问最少涂几个点 思路:最小顶点覆盖:用最少的点,让每条边都至少和其中一个点关联,显然是道裸最小顶点覆盖题; 参考:二分图 代码: 阅读全文
posted @ 2018-11-02 22:16 KirinSB 阅读(372) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示