最小瓶颈路

做最小生成树是进行特判即可

时间复杂度 n * k

#include <bits/stdc++.h>

const int N = 1010, M = 1e5 + 10;

struct Node {
int u, v, w;
bool operator < (const Node a) const {return w < a.w;}
} E[M];
int X[N], Y[N];
int n, m, k;
int fa[N];
int Answer[N]; int Get(int x) {return x == fa[x] ? x : fa[x] = Get(fa[x]);} int main() {
std:: cin >> n >> m >> k;
for(int i = 1; i <= m; i ++) std:: cin >> E[i].u >> E[i].v >> E[i].w;
for(int i = 1; i <= k; i ++) std:: cin >> X[i] >> Y[i];
std:: sort(E + 1, E + m + 1);
for(int i = 1; i <= n; i ++) fa[i] = i;
int js = 0;
for(int i = 1; i <= m && js < n - 1; i ++) {
int fax = Get(E[i].u), fay = Get(E[i].v);
if(fax == fay) continue;
for(int j = 1; j <= k; j ++) {
if(Answer[j]) continue;
int fa1 = Get(X[j]), fa2 = Get(Y[j]);
if((fa1 == fax && fa2 == fay) || (fa1 == fay && fa2 == fax)) {
Answer[j] = E[i].w;
}
}
fa[fax] = fay;
js ++;
}
for(int i = 1; i <= k; i ++) {
std:: cout << (Answer[i] == 0 ? -1 : Answer[i]) << "\n";
}
return 0;
}

loj #136的更多相关文章

  1. LOJ题解#136. 最小瓶颈路 DFS+Kruskal

    题目链接: https://loj.ac/problem/136 思路: 在我的这篇博客中已经讲到什么是最短瓶颈路,同时给出了一个用Kruskal求最短瓶颈路的一个简洁易懂的方法,然而这道题目可以看作 ...

  2. leetcode 136

    136. Single Number Given an array of integers, every element appears twice except for one. Find that ...

  3. Leetcode 136 137 260 SingleNumber I II III

    Leetccode 136 SingleNumber I Given an array of integers, every element appears twice except for one. ...

  4. [Noi2016]区间 BZOJ4653 洛谷P1712 Loj#2086

    额... 首先,看到这道题,第一想法就是二分答案+线段树... 兴高采烈的认为我一定能AC,之后发现n是500000... nlog^2=80%,亲测可过... 由于答案是求满足题意的最大长度-最小长 ...

  5. Loj #2192. 「SHOI2014」概率充电器

    Loj #2192. 「SHOI2014」概率充电器 题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: 「采用全新纳米级加工技术,实现元件与导线能否通电完 ...

  6. Loj #3096. 「SNOI2019」数论

    Loj #3096. 「SNOI2019」数论 题目描述 给出正整数 \(P, Q, T\),大小为 \(n\) 的整数集 \(A\) 和大小为 \(m\) 的整数集 \(B\),请你求出: \[ \ ...

  7. Loj #3093. 「BJOI2019」光线

    Loj #3093. 「BJOI2019」光线 题目描述 当一束光打到一层玻璃上时,有一定比例的光会穿过这层玻璃,一定比例的光会被反射回去,剩下的光被玻璃吸收. 设对于任意 \(x\),有 \(x\t ...

  8. Loj #3089. 「BJOI2019」奥术神杖

    Loj #3089. 「BJOI2019」奥术神杖 题目描述 Bezorath 大陆抵抗地灾军团入侵的战争进入了僵持的阶段,世世代代生活在 Bezorath 这片大陆的精灵们开始寻找远古时代诸神遗留的 ...

  9. Loj #2542. 「PKUWC2018」随机游走

    Loj #2542. 「PKUWC2018」随机游走 题目描述 给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(Q\) 次询问,每次 ...

随机推荐

  1. Linux 进程地址空间及原理

    1.程序地址空间      首先,我们先看学c/c++时候学到的程序内存布局: 准确地说,程序地址空间其实就是进程的地址空间,实际就是pcb中的mm_struct. 接下来,我们用fork()演示一下 ...

  2. 【优先队列】Function

    Function 题目描述 wls有n个二次函数Fi(x)=aix2+bix+ci(1≤i≤n).现在他想在且x为正整数的条件下求的最小值.请求出这个最小值. 输入 第一行两个正整数n,m.下面n行, ...

  3. sass快速使用

    sass的使用 建议使用一种语法格式(scss) scss sass转换 sass-convert main.scss main.sass sass变量声明 example: $headline-ff ...

  4. Comet OJ Contest 4

    A:签到. #include<bits/stdc++.h> using namespace std; #define ll long long #define inf 1000000010 ...

  5. github新建远程仓库初始化记录

    …or create a new repository on the command line echo "# 输出内容" >> README.md git init ...

  6. React/虚拟DOM

    在说虚拟DOM之前,先来一个引子,从输入url到展现出整个页面都有哪些过程? 1.输入网址 2.DNS解析 3.建立tcp连接 4.客户端发送HTPP请求 5.服务器处理请求 6.服务器响应请求 7. ...

  7. c# 子类的声明

  8. Mysql之表的查询

    一.单表的查询 首先让我们先熟悉一下mysql语句在查询操作时执行的顺序: (1)from  (2) on  (3) join  (4) where  (5)group by  (6) avg,sum ...

  9. Python 获取环境变量的几种方式

    第一种 import os os.environ.get('key_name') 第二种 import os os.getenv('key_name') 第三种 import os os.getenv ...

  10. iptables详解(6):iptables扩展模块之 state 扩展

    为了防止恶意攻击主动连接到你的主机 我们需要通过iptables的扩展模块判断报文是为了回应我们之前发出的报文还是主动向我们发送的报文 state模块可以让iptables实现 连接追踪机制 NEW表 ...