摘要: 先求一遍最小生成树,再枚举每一个非树边,如果能替换最大值就替换,如果相等则替换次大值 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=510,M=10010; int h[N], e[N * 阅读全文
posted @ 2020-05-06 20:58 朝暮不思 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 这题具有单调性质,可以二分,但是我们发现如果使用并查集维护kruscal,那么无需二分,直接枚举答案即可 #include<bits/stdc++.h> #define x first #define y second using namespace std; typedef pair<int,in 阅读全文
posted @ 2020-05-06 19:08 朝暮不思 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 这题让我们对边权进行赋值,首先肯定想到,假如不考虑边权,那么我们也是要求a-b,b-c的路径最短是多少,因为路径少意味着权值少 这里有两种情况,一种是这两者之间存在某个点x,使得部分路径重复,一种是不存在 其实这两个是一种情况,第二种情况的b就是x。这样我们发现重复的路径要走两边,肯定是将他赋值到最 阅读全文
posted @ 2020-05-06 16:28 朝暮不思 阅读(157) 评论(0) 推荐(0) 编辑