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 ...
随机推荐
- Unity3D事件函数的执行顺序
In Unity scripting, there are a number of event functions that get executed in a predetermined order ...
- 前端快速构建神器vue-cli,windows下安装并且构建前端项目
1.nodejs官网http://nodejs.cn/下载安装包,傻瓜式安装即可 2.dos命令查询node的版本 node -v 查询版本号 npm -v 查询npm包管理版本 3.安装国内镜像 n ...
- typescript-学习使用ts-3
函数 函数参数 参数及返回值类型 function add(x: number, y: number): number { return x + y } 可选参数 function add(x: nu ...
- 基于JWT的Token认证机制及安全问题
[干货分享]基于JWT的Token认证机制及安全问题 https://bbs.huaweicloud.com/blogs/06607ea7b53211e7b8317ca23e93a891
- Seconds from winning
英语沙龙 1. Who winned the game? Answer: It was not Paxton who would hoist the winner's trophy. Paxton h ...
- 问题:pip命令安装好的库,pycharm却显示没有这个库
问题: 今天发现pycharm内部安装库出了问题,导致无法安装各种库,我就在cmd下用自己安装好的pip安装各个库,成功安装后发现各个库在idle中可以成功的import,但在pycharm里却显示没 ...
- Class<T> 泛型获取T的class
getClass().getGenericSuperclass()返回表示此 Class 所表示的实体(类.接口.基本类型或 void)的直接超类的 Type然后将其转换ParameterizedTy ...
- MySQL数据库中索引的数据结构是什么?(B树和B+树的区别)
B树(又叫平衡多路查找树) 注意B-树就是B树,-只是一个符号. B树的性质(一颗M阶B树的特性如下) 1.定义任意非叶子结点最多只有M个儿子,且M>2: 2.根结点的儿子数为[2, M]: 3 ...
- php先响应后处理
php响应异步请求或者返回时效要求高的接口中,可以先响应输出,再执行逻辑处理保存数据等任务 ob_end_clean(); ob_start(); echo '{"data":&q ...
- 4.Redis持久化方案
1.1 RDB持久化 RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘. RDB是Redis默认采用的持久化方式. ...