摘要:
一、题目描述 二、解题思路 这个题主要注意一下会输入重复的边,你在存图时取个最小边权就行了 三、代码实现 1 #include "bits/stdc++.h" 2 const int inf = 1e9 + 10; 3 using namespace std; 4 int graph[5010][5 阅读全文
posted @ 2022-02-15 21:42
scannerkk
阅读(35)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 首先把这些点的距离预处理出来,然后把给定的边的权值设置为0。那么这些给定的边一定会被走到,然后根据短的再进行选就行了,因此可以用prim算法来做这个题,当然可以用堆优化,但是数据量比较小,所以就没有用堆优化了。(这里很容易出错,debug两个小时在一个double型的mn 阅读全文
posted @ 2022-02-15 21:38
scannerkk
阅读(28)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 一个kruscal模板题,只需要把最大的排在前面数k条就行了。 三、代码实现 1 #include "bits/stdc++.h" 2 using namespace std; 3 int n,m,k; 4 int a[100010]; 5 struct node{ 6 阅读全文
posted @ 2022-02-15 21:33
scannerkk
阅读(65)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 首先预处理出路径长度,标记点。然后,因为只能装s个,所以答案就在前面p - s条路径中最长的那条,因为我后面那p - s + 1之后的只会导致答案变大,这里有点点贪心的思想,所以答案就只能是前面p - s中最大的那条就行了。 三、代码实现 1 #include "bits 阅读全文
posted @ 2022-02-15 21:30
scannerkk
阅读(135)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 利用kruscal算法求解,原来一共有n个点,看看能不能缩成k个点,如果能就输出ans,如果不能输出No Answer。因为kruscal是从最小的边开始,所以答案肯定是最小的,符合正确性。 三、代码实现 1 #include "bits/stdc++.h" 2 usin 阅读全文
posted @ 2022-02-15 21:25
scannerkk
阅读(46)
评论(0)
推荐(0)