POJ 1789 Truck History
最小生成树问题。
给你一组字母序列,问你最有可能的演变,也就是把全部的序列连通所花费最小。
每次派生的花费 取决于两个字符串上 不同的字母个数。
于是两两算出花费,然后Kruskal算最小。
#include<cstdio>
#include<cstring>
#include<string>
#include<queue>
#include<algorithm>
#include<queue>
#include<map>
#include<stack>
#include<iostream>
#include<list>
#include<set>
#include<cmath>
#define INF 0x7fffffff
#define eps 1e-6
using namespace std;
int n,m;
int fa[2001];
struct lx
{int u,v,len;
}l[2000001];
int father(int x)
{if(x!=fa[x])fa[x]=father(fa[x]);return fa[x];
}
bool cmp(lx a,lx b)
{return a.len<b.len;
}
char str[2001][8];
int getlen(char *a,char *b)
{int ans=0;for(int i=0;i<7;i++)if(a[i]!=b[i])ans++;return ans;
}
int main()
{while(scanf("%d",&n),n){for(int i=1;i<=n;i++){fa[i]=i;scanf("%s",str[i]);}int cot=0;for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){l[cot].u=i;l[cot].v=j;l[cot++].len=getlen(str[i],str[j]);}}sort(l,l+cot,cmp);int ans=0;for(int i=0;i<cot;i++){int fu=father(l[i].u);int fv=father(l[i].v);if(fu==fv)continue;fa[fv]=fu;ans+=l[i].len;}printf("The highest possible quality is 1/%d.\n",ans);}
}
转载于:https://www.cnblogs.com/hrhguanli/p/4048891.html
POJ 1789 Truck History相关推荐
- Kuskal/Prim POJ 1789 Truck History
题目传送门 题意:给出n个长度为7的字符串,一个字符串到另一个的距离为不同的字符数,问所有连通的最小代价是多少 分析:Kuskal/Prim: 先用并查集做,简单好写,然而效率并不高,稠密图应该用Pr ...
- poj 1789 Truck History(最小生成树 prim)
题目:http://poj.org/problem?id=1789 大意:每个卡车都有自己的编号,由七位字母组成 d(to,td) is the distance of the types指t0 和 ...
- POJ - 1789 Truck History (最小生成树)
https://vjudge.net/problem/POJ-1789 题意 n个车牌,长度固定为7,车牌与车牌间的距离为不同字母个数.问所有车牌形成一棵树的最小边权和是多少. 分析 最小生成树模板 ...
- 【POJ】【最小生成树】1789 Truck History
1 思路 题目链接. 最小生成树(MST)问题. 2 代码 代码来自宇宙吾心博客. #include <iostream> #include <limits> #include ...
- (最小生成树)Truck History --POJ -- 1789
链接: http://poj.org/problem?id=1789 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 2213 ...
- 【POJ - 1789】【ZOJ - 2158】【SCU - 1832】Truck History (最小生成树)
题干: Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used f ...
- Truck History prime
题目表述: Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetab ...
- J - Truck History
题目: Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable ...
- poj 1789 kruscal水题
继续水水题... 题目:http://poj.org/problem?id=1789 把车看成结点,车之间的距离看作权重就是一个图了,然后求最小生成树... 的确水题,但看题目花了挺长时间,不知道如果 ...
最新文章
- 如何设置listview每个item高度
- 【时间序列】再次出发!FaceBook 开源一站式服务时序利器 Kats !
- acm公选课第三节4.7直播4.9补 递归 深搜啥的
- Git/SQL/正则表达式练习平台
- powershell 学习地址
- 浅谈C++类(7)--析构函数
- UVa 297 四分树
- 智能优化算法:自私羊群优化算法-附代码
- IT从业人员的10个专业论坛
- linux 内网服务 端口,LINUX 内网设备将服务映射到公网地址
- 数码管动态显示从0显示到999999,每隔0.1s增加1个数
- uboot 中内存测试,内存检测方法
- 英雄连1V1战胜专家电脑!
- const的小把戏。
- 关于UEFI引导的理解
- 七鑫易维彭凡演讲实录:眼球追踪技术让VR更“人性”
- 企业微信收款后可以进行退款吗?如何操作?
- 两独立样本T检验实例(用SPSS16.0实现)
- 编程训练题:多项式求和
- 超级壁纸android,超级壁纸大全app下载
热门文章
- 就微软启动盗版系统黑屏的个人看法
- 联发科有没有高端处理器_OPPO Reno5系列发布:联发科的高端梦实现了?
- MCU实战经验:多种的按键处理
- \multirow 表格文字居中(latex强制换行)
- pyhton列表习题
- 云容器实例服务入门必读
- Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源
- mysql + Fluently NHibernate + WebAPI + Autofac
- FPP(彩包)、COEM(简包)、MOLP(license授) 介绍
- Android程序ToDoList增加配置项页面