随笔分类 -  图相关问题

摘要:Marriage Match IV 思路:属于最短路径上的边应该满足:dis_A[u] + dis_B[v] + w == dis_A[B],dis_A是出发点到其他点的距离,dis_B是终点到其他点的距离,u,v是边的两个端点,w是权值。题目说每条边只能用一次,我们可以用最大流算法来求最短路径有几 阅读全文
posted @ 2020-07-01 17:14 SummerMingQAQ 阅读(183) 评论(0) 推荐(0) 编辑
摘要:ROADS 思路:K = 10000,dijkstra复杂度O(nlogn),如果我们把不同点的不同花费拆点,即d[花费][点] = 距离,则被拆为 N*K个点,分成K层,则dijkstra复杂度O(k * (n *logn + m)),复杂度在超时边缘徘徊... #include <iostrea 阅读全文
posted @ 2020-05-29 17:19 SummerMingQAQ 阅读(220) 评论(0) 推荐(0) 编辑
摘要:拯救大兵瑞恩 思路:钥匙种类p = 10,我们可以拥有不同种类钥匙,通过这个我们可以把图分成2^p层,表示拥有不同种类钥匙的情况。 #include <iostream> #include <vector> #include <cstdio> #include <cstring> #include 阅读全文
posted @ 2020-05-29 12:45 SummerMingQAQ 阅读(242) 评论(0) 推荐(0) 编辑
摘要:双调路径 思路:我们可以容易想到,通过不同的边到达某个点的时间和金钱是不一样的,这是难点。我们发现点数n = 100,权值t,c = 100,如果我们分别维护时间权值为x时,到达该城市的最少金钱是多少,即d[城市][时间] = 金钱,因为 n = 100, t,c = 100,说明我们需要维护 n* 阅读全文
posted @ 2020-05-23 21:07 SummerMingQAQ 阅读(345) 评论(0) 推荐(0) 编辑
摘要:Delivery Route 题目:有n个派送点,x条双向边,y条单向边,出发点是s,双向边的权值均为正,单向边的权值可以为负数,对于单向边给出了一个限制:如果u->v成立,则v->u一定不成立。问,从s出发,到其他所有点的最短路是多少(包括s)。 思路:对于单向边的限制,我们可以这么理解:双向边相 阅读全文
posted @ 2020-04-07 22:05 SummerMingQAQ 阅读(362) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://ac.nowcoder.com/acm/contest/3566/B 思路:一条路可把图分为左右两部分。 l_ci, l_peo, r_ci, r_peo, w 分别为左边城市数和人数,右边城市数和人数,该路的费用。 我们知道,左边的人要去右边的r_ci个城市,右边的人要去 阅读全文
posted @ 2020-02-13 00:59 SummerMingQAQ 阅读(205) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://nanti.jisuanke.com/t/41349 题意:有一个灭火英雄,和一个灭火团队,一个人与一个团队比较。 灭火英雄到其他灭火点的最短路最大值,与一个团队到其他灭火点的最短路的最大距离*C,进行比较。 如果一个团队的一个人在k点,那么k点的最短路就是0,这样,我们可 阅读全文
posted @ 2019-09-12 15:44 SummerMingQAQ 阅读(268) 评论(0) 推荐(0) 编辑
摘要:t题目链接:https://nanti.jisuanke.com/t/41290 思路:题目意思很容易想到floyd,但是由于危险度的限制,我们该怎么跑floyd呢。 一开始理解错题目了,以为u->v包括终点起点都不能超过给的危险度,不过看样例,好像只需要中间的城市不能超过危险度。 我们可以这么想, 阅读全文
posted @ 2019-09-05 17:35 SummerMingQAQ 阅读(361) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://nanti.jisuanke.com/t/41305 题目说的很明白。。。只需要反向跑spfa然后输入-dis,然后添-dis的一条边就好了。。。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 阅读全文
posted @ 2019-09-05 17:20 SummerMingQAQ 阅读(171) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://vjudge.net/problem/POJ-3169 题意:有一些奶牛,有些奶牛相互喜欢,他们之间的距离必须小于等于一个K。 有些奶牛相互讨厌,他们之间的距离必须大于等于一个K。问1号奶牛个n号奶牛最远能相距多少距离, 如果无法正常排队,输出 “ -1 ”,如果距离可以无 阅读全文
posted @ 2019-08-08 17:20 SummerMingQAQ 阅读(291) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://vjudge.net/problem/CodeForces-1196F 题意:从图中找出第K短的最短路,最短路:从一个点到另一个的最短距离。 思路:题目说了,每两个点之间的边小于等于1,那么如果我们只取K条边, 那么顶点数 V∈[K,2K],所以我们一定可以在K条边中的到第 阅读全文
posted @ 2019-08-08 16:37 SummerMingQAQ 阅读(233) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://vjudge.net/problem/HDU-4514 题意:判断没有没有环,如果没有环,通俗的讲就是找出一条最长的路,相当于一笔画能画多长。 思路:dfs判环。 最后就是没有环的情况了:最长的路的话,我们可以先从一个点A开始遍历所有边,找出最长的路, 但是,那个最长路不一 阅读全文
posted @ 2019-08-05 20:23 SummerMingQAQ 阅读(310) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://vjudge.net/problem/POJ-2688 题意:在一个地面上,有一个扫地机器人,有一些障碍物,有一些脏的地砖,问,机器热能不能清扫所有的地砖, (机器人不能越过障碍物),如果能,需要得到机器人移动最少步数。 思路:可以把扫地机器人和地砖编号,然后得出编号之间的 阅读全文
posted @ 2019-08-05 20:08 SummerMingQAQ 阅读(347) 评论(0) 推荐(0) 编辑

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