这题目测是数据水了。我这种暴力写法显然是可以卡超时的。

假设有2000个点,15000条边,前面10000条不能构成树,后面5000条可以,这种数据显然可以卡超时。

#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <queue>
#include <stack>
#include <map>
#include <vector>
using namespace std;const int maxn = 2000 + 10;
const int maxm = 15000 + 10;
const int inf = 0x7fffffff;
int T;
int n, m;
struct Edge
{int u;int v;int id;int val;
}e[maxm];
int fa[maxn];bool cmp(const Edge&a, const Edge&b)
{return a.val<b.val;
}void read()
{scanf("%d%d", &n, &m);for (int i = 1; i <= m; i++)scanf("%d%d%d", &e[i].u, &e[i].v, &e[i].val);sort(e + 1, e + 1 + m, cmp);
}int Find(int x)
{if (x != fa[x]) fa[x] = Find(fa[x]);return fa[x];
}void work()
{int ans = inf;int i, j;int cnt;for ( i = 1; i <= m; i++){for ( j = 1; j <= n; j++) fa[j] = j;cnt = n;for ( j = i; j <= m; j++){int fu = Find(e[j].u);int fv = Find(e[j].v);if (fu == fv) continue;fa[fu] = fv; cnt--;if (cnt == 1){ans = min(ans, e[j].val - e[i].val);break;}}if (cnt != 1) break;}if (ans == inf) ans = -1;printf("%d\n", ans);
}int main()
{scanf("%d", &T);while (T--){read();work();}return 0;
}

转载于:https://www.cnblogs.com/zufezzt/p/5189056.html

HDU 5624 KK's Reconstruction相关推荐

  1. hdu 5624 KK's Reconstruction(最小生成树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5624 解题思路: 题目中要求每个点都连通,且保证最大边与最小边的差值最小.可以想到的是利用最小生成树的 ...

  2. hdu 5620 KK's Steel(推理)

    Problem Description Our lovely KK has a difficult mathematical problem:he has a N(1≤N≤1018) meters s ...

  3. HDU-5624 -KK's Reconstruction(并查集+枚举)

    Problem Description Our lovely KK has a difficult Social problem. A big earthquake happened in his a ...

  4. HDU 5620 KK's Steel(水~)

    Description 我们可爱的KK遇到了一道数学难题:对于一条长为N(1≤N≤10^​18 )米的钢管,最多可以锯成几根小钢管,使得锯成的钢管互不相等且均不能围成三角形 Input 第一行一个数T ...

  5. HDU 5622 KK's Chemical

    问题描述 我们可爱的KK有一道困难的化学题目:实验室有N\left(1\leq N\leq 100 \right)N(1≤N≤100)瓶化学药品,编号为00到N-1N−1,现在KK知道第i瓶当且仅当和 ...

  6. hdu 5621 KK's Point(数学,推理题)

    题解: 在圆上点三个点时,除圆上三个交点外,圆内没有交点:在圆上点四个点时,除圆上四个交点外,圆内出现了一个交点,因此,在N个点中每四个点便可以在圆内产生一个交点,因此N个点在圆内形成的点的个数为CN ...

  7. 2019.9.17最小生成树知识点回顾

    POJ 1797 Heavy Transportation(最大生成树-Prim) 最大生成树,方法模仿最小生成树,每次选最大边进行操作,即可. HDU 5723 Abandoned country( ...

  8. mysql 查询语句 in,Mysql IN语句查询

    语法: WHERE column IN (value1,value2,...) WHERE column NOT IN (value1,value2,...) 1.in 后面是记录集,如: selec ...

  9. 19级爪哇程序设计新手赛(题解)

    19级爪哇程序设计新手赛(题解) A.1+1 HDU - 1228 kk的英语作业,有两个小于100的正整数A和B,计算A+B. A和B由对应的英文单词给出. Input 测试输入包含若干测试用例,每 ...

最新文章

  1. 搭建java_搭建java开发环境
  2. 【每日邮报】利物浦对阵阿森纳能走出牢狱要谢天谢地谢Peter
  3. LinkedList模拟队列和堆栈
  4. 实时远程医学影像服务质量保障与网络优化
  5. npm安装依赖包报错
  6. 会议交流 | 第十五届全国知识图谱与语义计算大会(CCKS 2021)12月25日线上召开...
  7. python从键盘获取数学表达式字符串_python – 数学表达式中String类型的字符串操作...
  8. 如果看到消息“此计算机无法读取您插入的磁盘”,该怎么办?
  9. androidstudio can't run git.exe
  10. BS7799与ISO17799的发展历程
  11. wps删除第二页页眉
  12. Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java16 的新特性
  13. win7网络怎么添加一台计算机,win7网络共享的设置方法【详细步骤】
  14. android 炫酷 图片背景,炫酷-背景图垂直循环滚动登录页,Android RecyclerView实现
  15. 怎么在cmd中运行python脚本_cmd中运行python脚本智能使用流程
  16. 平台 -- 依赖平台 Nexus
  17. 此计算机必须为委派而被信任_允许受信任的用户进行委派
  18. 第一章-一大波数正在靠近——排序
  19. 电机原理及电机拖动实验系统
  20. Shopify好用的开发插件/网站编辑插件

热门文章

  1. RocketMQ-手把手教你搭建集群
  2. 交互式计算机图形学总结:第三章 几何对象和变换
  3. java 矩形重叠问题_两个矩形重叠的问题
  4. springboot整合hibernate_峰哥说技术系列-17 .Spring Boot 整合 Spring Data JPA
  5. mysql中的字典项是啥_常见数据库设计(1)——字典数据
  6. ajax校验的优点,django框架中ajax的使用及避开CSRF 验证的方式详解
  7. 幸运大抽奖 | 神策 2020 数据驱动用户大会等你来
  8. halcon算子之tuple_gen_const,用于生成特定长度的元组并且初始化其元素
  9. 物联网推动时代进步 中小玩家如何傍上运营商这棵大树
  10. hdu2089 不要62 数位dp