摘要: #include <iostream> #include <vector> #include <map> #include <algorithm> using namespace std; const int N = 2800; map<string, int>GotTime; map<string 阅读全文
posted @ 2021-04-09 21:19 u_yan 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题意:遍历每个非关键边,预处理出来两个 \(MST\) 中的点到最近公共祖先的最长的边的距离,然后就是 \(\frac{cnt}{sum - Max_{i,j}}\) 枚举 \(i,j\) 即可,简直就和求最小生成树的过程一模一样。 代码: #include <cstring> #incl 阅读全文
posted @ 2021-04-09 09:18 u_yan 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 次小生成树 非严格 #include <cstring> #include <iostream> #include <queue> #include <algorithm> #include <vector> using namespace std; const int N = 1111; cons 阅读全文
posted @ 2021-04-09 08:42 u_yan 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解:求非严格次小生成树,先钦定一个最小生成树,枚举每一条非树边。可发现加入枚举的这条边,定能成环,然后再在环上断开最大的是树边的一条边,然后枚举取最小值。为了缩小时间瓶颈,用了倍增法,预处理最小生成树上两个点之间到最近公共祖先的路上最长的边长,然后 \(\log\) 复杂度的查询。 代码 阅读全文
posted @ 2021-04-09 08:40 u_yan 阅读(34) 评论(0) 推荐(0) 编辑