首页 > [HAOI2006]旅行COMF
头像 lifehappy
发表于 2021-01-14 15:57:39
[HAOI2006]旅行COMF 根据数据范围求解,有,好了,直接暴力贪心地选择一段值连续的边,然后判断是否联通即可。 所以我们只要预先对边按照排个序,然后用并查集判断是否联通即可。 #include <bits/stdc++.h> using namespace std; cons 展开全文
头像 shyyhs
发表于 2021-01-14 16:07:17
思路: 判断两点是否联通,可以用并查集来判断.如果起点和终点联通了,那么我们不妨枚举最大边是多少,然后按顺序枚举那条较小边是多少.然后取个min就是最终的答案了. 代码: #include <bits/stdc++.h> using namespace std; const int N= 展开全文
头像 MYCui_
发表于 2021-01-11 22:08:46
前置知识 这道题的解法为:并查集 + 排序 + 二分 难度: 3 星 主要做法 首先考虑如何判断无解,很明显,无解的情况就是无论怎么样都不能从起点到终点,那么就是起点和终点在整个图中不连通,那么这种情况下输出"IMPOSSIBLE",其余情况皆有解。 题目要求最大边与最小边的比值最小,所以我们不妨可 展开全文
头像 issue是云哥的小迷×呀
发表于 2021-01-14 17:34:05
枚举上界和下界用判断连通,复杂度 枚举下界,上界可以二分,理论复杂度似乎能冲...但是T了 枚举下界,然后使用并查集动态加入边判断连通,复杂度,可以通过 枚举下界,使用取每个点最优(小)的上界。但是不知道可不可以,没试过 #include <bits/stdc++.h> using na 展开全文
头像 熠丶
发表于 2021-01-14 14:19:48
做法:类最小生成树 思路: 1.先将边从大到小排 2.枚举最大边,然后进行连边 3.每次连边,如果连玩次边后发现s和t联通,那么最小边就是该边,并退出Kruskal 4.依次比较ans与最大边与最小边的比值 5.如果最大边枚举到不存在最小边s和t联通,那么退出枚举最小边 代码 #include 展开全文
头像 sunsetcolors
发表于 2021-01-14 16:37:34
旅行 题目地址: https://ac.nowcoder.com/acm/problem/19963 基本思路: 数据范围比较小,我们考虑暴力枚举到最小速度,并且在每次最小速度确定情况下的找到对应最小的最大速度。具体的我们只要将边从小到大排序,然后枚举到最小速度对应边后,并查集维护往后连边, 展开全文
头像 精神病科黄主任
发表于 2021-01-14 19:55:54
题意:给了一个无向图,给了S和T两个点,问从S走到T的路径中,最大值比最小值 的 最小是多少思路:点只有500个,边只有5000个,所以支持O(m^2)判断S到T的话,我们可以用并查集维护联通性。类似最小生成树,对边权从小到大排序。枚举第一条边,然后对边一条条加进去,直到S能走到T时即可,这时候判断 展开全文
头像 昵称很长很长真是太好了
发表于 2021-01-15 17:42:06
题解:暴力枚举+并查集维护联通由于本题点的范围不大,并且边的范围在5000以内。这样的话我们可以采用复杂度的算法。类似于贪心的方法,把边权从小到大排序。因为这个题目只取决于最大最小值,两者比值越小越好。我们把边权挨着枚举一遍即可。从边权最小开始枚举,用并查集维护,每次加入一条边,并且检查s与t是否连 展开全文
头像 sunrise__sunrise
发表于 2021-01-20 21:44:59
题目描述 第一行给你个点,条边,每条边都有一个权值。接着给出边的信息。最后给你两个点,问从到的路径中,最长边除以最短边的比值最小是多少? Solution 观察题目范围,发现点很少,边不是很多,说明我们可以暴力一点。那么第一步判断是否存在路径从去,从起点图判断两个点之间是否联通,找到并查集这个数据 展开全文
头像 WuliWuliiii
发表于 2021-01-17 11:14:02
因为边的数目很少,只有5000,那么我们不妨对边的权值排序,然后5000*5000的进行枚举即可,判断连通性就可以了。 #include <iostream> #include <cstdio> #include <cmath> #include <stri 展开全文

等你来战

查看全部