POJ 3522 用不同的排序方式
这是一个蜜汁WA了的代码。。
说好的样例对了就是对了呢orz
反正我个人认为思路是没问题的不知道WA在哪了,丢个坑在这里以后填吧
//思路:
//1节点连接的边都记录下来,依次克鲁斯卡尔枚举得出最小值。
//排序思路:将所有边按与枚举的边的差值排序。
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int inf = (<<)-;
const int maxn=1e2+;
struct qa
{
int u,v,w;
}q[];
int n,m;
int mf;
int f[maxn],p[maxn];
bool b[maxn];
inline bool cmp(const qa &a,const qa &b)
{
return abs(a.w-mf)<abs(b.w-mf);
}
inline int find1(int x)
{
return f[x]==x?x:f[x]=find1(f[x]);
}
int zx()//就是克鲁斯卡尔。。
{
int t=;
for(int i=;i<=n;i++)
f[i]=i;
int maxx=mf,minn=mf;
sort(q+,q+m+,cmp);
for(int i=;i<=m;i++)
{
int x=find1(q[i].u),y=find1(q[i].v);
if(x!=y)
{
f[x]=y;
maxx=max(maxx,q[i].w);
minn=min(minn,q[i].w);
t++;
}
if(t==n-)return maxx-minn;
}
return -;
}
int main()
{
while(scanf("%d%d",&n,&m),n||m){
int ans=;
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&q[i].u,&q[i].v,&q[i].w);
if(q[i].u==||q[i].v==)p[++ans]=q[i].w;
}
int minn=inf;
for(int i=;i<=ans;i++)
{
mf=p[i];
int mm=zx();
if(mm==-)continue;
minn=min(minn,mm);
}
if(minn!=inf)printf("%d\n",minn);
else printf("-1\n");
}
return ;
}
POJ 3522 用不同的排序方式的更多相关文章
- 浅析SQL查询语句未显式指定排序方式,无法保证同样的查询每次排序结果都一致的原因
本文出处:http://www.cnblogs.com/wy123/p/6189100.html 标题有点拗口,来源于一个开发人员遇到的实际问题 先抛出问题:一个查询没有明确指定排序方式,那么,第二次 ...
- C#中Dictionary<TKey,TValue>排序方式
自定义类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy ...
- 使用prompt输入一句英文句子和排序方式(升/降),将所有单词按排序方式排序后在网页上输出
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [MySQL] 字符集和排序方式
字符串类型 MySQL的字符串分为两大类: 1)二进制字符串:即一串字节序列,对字节的解释不涉及字符集,因此它没有字符集和排序方式的概念 2)非二进制字符串:由字符构成的序列,字符集用来解释字符串的内 ...
- discuz 修改亮剑积分商城2.91模板(在常用设置中添加商场首页排序方式的背景颜色)
在应用 -> 积分商城 -> 常用设置 中添加 商场首页排序方式 的背景颜色修改功能 步骤: 1.找到并打开此页面对应的模板source\plugin\aljsc\template\set ...
- PHP 二维数组根据某个字段按指定排序方式排序
/** * 二维数组根据某个字段按指定排序方式排序 * @param $arr array 二维数组 * @param $field string 指定字段 * @param int $sort_or ...
- TreeSet的两种排序方式,含Comparable、Comparator
1.排序的引入 由于TreeSet可以实现对元素按照某种规则进行排序,例如下面的例子 public class TreeSetDemo { public static void main(String ...
- 使用jdk中提供的排序方式
package com.bjpowernode.t01; import java.util.Arrays; /** * 使用jdk中提供的排序方式 * */public class TestArray ...
- java学习-排序及加密签名时数据排序方式
排序有两种 1. 类实现comparable接口调用List.sort(null)或Collections.sort(List<T>)方法进行排序 jdk内置的基本类型包装类等都实现了Co ...
随机推荐
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之元组类型(tuple)
元组!在Python中元组是属于列表的一种延伸,也是一种有序集合,成为一种只读列表,即数据可以被查找,不能被修改,列表的切片操作同样适用于元组. 特点:1. 与列表非常相似. 2. 一旦初始化就不能修 ...
- 【iOS入门】UITableView加载图片
学习带图片的列表 官方 LazyTableImages demo http://download.csdn.net/detail/jlyidianyuan/5726749 分析源码是学习的好方法. ...
- 数据处理——One-Hot Encoding
一.One-Hot Encoding One-Hot编码,又称为一位有效编码,主要是采用位状态寄存器来对个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效. 在实 ...
- 代码验证ncut和谱聚类的系数
W = rand(30); W = W+W'; I = cell(3,1); I{1} = 1:10; I{2} = 11:20; I{3} = 21:30; vol = -ones(3,1); fo ...
- 模型层字段-多表查询-神奇的双下划线查询-F,Q查询
Django ORM中常用的字段和参数 常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. In ...
- 如何让网站HTTPS评级为A或者A+
环境说明:CentOS Linux release 7.5.1804 (Core).nginx/1.10.0 需求:公司网站在myssl的评级只得到了B的评分,需要提升至A+ 具体操作如下: 一.ng ...
- npm基本语法
npm -version 查看npm版本 npm install <name> 安装node.js的依赖包 npm install <name> @3.0.6 安装版本为3 ...
- 存储映射I/O函数
1.void * mmap((void *addr, size_t length, int prot, int flags, int fd, off_t offset) 参数: addr:用于指定映 ...
- freeswitch的internal的profile无法启动
服务器断电重启后,导致freeswitch的internal的profile无法启动 在fs_cli执行 sofia profile internal restart 打印如下信息: [ERR] sw ...
- COMET探索系列三【异步通知服务器关闭数据连接实现思路】
在小编络络 COMET实践笔记一文中注意事项中有这么一段话 使用长连接时, 存在一个很常见的场景:客户端需要关闭页 面,而服务器端还处在读取数据的阻塞状态,客户端需要及时通知服务器端关闭数据连接.服务 ...