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

假设有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 = + ;
const int maxm = + ;
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 = ; i <= m; i++)
scanf("%d%d%d", &e[i].u, &e[i].v, &e[i].val);
sort(e + , e + + 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 = ; i <= m; i++)
{
for ( j = ; 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 == )
{
ans = min(ans, e[j].val - e[i].val);
break;
}
}
if (cnt != ) break;
} if (ans == inf) ans = -;
printf("%d\n", ans);
} int main()
{
scanf("%d", &T);
while (T--)
{
read();
work();
}
return ;
}

HDU 5624 KK's Reconstruction的更多相关文章

  1. HDU 5624 KK's Reconstruction 最小生成树

    题意:这是bc round 71 div 1 的 1004 直接去看中文题意 分析: 首先,一种合法方案对应了原图的一棵生成树. 我们知道,最小生成树有一个性质是最大边最小. 因此,我们可以枚举生成树 ...

  2. HDU 5623 KK's Number (博弈DP)

    KK's Number 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/K Description Our lovely KK h ...

  3. HDU 5620 KK's Steel (斐波那契序列)

    KK's Steel 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/J Description Our lovely KK ha ...

  4. hdu 5623 KK's Number(dp)

    问题描述 我们可爱的KK有一个有趣的数学游戏:这个游戏需要两个人,有N\left(1\leq N\leq 5*{10}^{4} \right)N(1≤N≤5∗10​4​​)个数,每次KK都会先拿数.每 ...

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

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

  6. HDU 5622 KK's Chemical DP

    题意:bc round 71(中文题面) 分析(官方题解): 根据药品之间的相互关系,我们可以构建一张图,我们对相互会发生反应的药品连边 这个图的特征,是一个环加上一些“树”(可能有多个联通块) 一个 ...

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

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

  8. HDU 5621 KK's Point

    N个点中任意选取四个点,就能产生一个圆内的交点,所以圆内总共有C(N,4)个交点,圆上有N个,相加就可以了. 注意:组合数运算的时候会爆longlong,中间先除一下就可以了. #include &l ...

  9. HDU 5620 KK's Steel

    想了一下发现是斐波那契数列.....水题 #include <stdio.h> #include <algorithm> #include <string.h> # ...

随机推荐

  1. overload与override

    一.override(重写.覆写) 1.子类重写父类的方法(两同一小一大一权限) ① 方法签名必须相同,返回值类型必须相同. ② 抛出的异常必须小于等于父类方法 ③ 权限修饰符必须大于等于父类方法的权 ...

  2. 直接拿来用!Facebook移动开源项目大合集

    直接拿来用!Facebook移动开源项目大合集 时间:2014-04-22 15:37 作者:唐小引 随着iOS依赖管理工具CocoaPods和大量第三方开源库成熟起来,业界积累了大量的优秀开源项目. ...

  3. C语言客户端服务器代码

    /* sockclnt.c*/ #include <stdio.h>#include <string.h>#include <stdlib.h>#include & ...

  4. php简单命令代码集锦

    if(file_exists("file.htm"))// 检查是否存在此文件 if(file_exists("chat"))//检查是否存在此文件夹 rena ...

  5. jquery指定div右键事件

    <div class="nav_list_item">需要淡季右键的div</div> 我们要 给这个div注册鼠标右键的时候需要先禁用该div的网页右键菜 ...

  6. ibdata1文件--缩小mysql数据库的ibdata1文件

    摘要 在MySQL数据库中,如果不指定innodb_file_per_table参数,单独存在每个表的数据,MySQL的数据都会存放在ibdata1文件. mysql ibdata1存放数据,索引等, ...

  7. 服务器 vps 空间

    服务器 服务器是一台独立的机器,拥有独立的ip,磁盘空间,内存空间,可以认为是一台功能强大的电脑. VPS VPS是利用虚拟化技术将服务器虚拟成多台服务器,独立的ip,磁盘空间,内存空间,服务器的vp ...

  8. AVR之BOOTLOADER技术详解(转)

    源:http://blog.csdn.net/zhenhua10/article/details/6442412 ATmega128具备引导加载支持的用户程序自编程功能(In-System Progr ...

  9. zf-关于表单不能提交的bug修改

    因为使用onclick="submitForm();" 函数提交的 就表示 这里面有js代码 js代码 里面使用document.from1.submit()提交的 所以from ...

  10. ZOJ 3939The Lucky Week<模拟/暴力>

    题意:我们认为日期的天数为1,11,21,并且是周一的为Lucky Week;现在给出第一个lucky week的日期,求第N个的lucky week: //1:四百年一轮回,从闰年和平年的判定可以推 ...