POJ 1789 - Truck History(最小生成树)

Ubuntu安装有线网卡驱动 问题:插入网线后,无法识别有线连接。 原因:主板有线网卡的型号和系统中网卡的驱动不匹配 解决 前提条件: 需要连wifi通网,因为需要安装dkms,和下载驱动。 删除原驱动 1、查看网卡型号 lspci | grep net 我的网卡型号是8125 2、查看网卡驱动 lspci -k 网卡驱动是r8169 3、卸载网卡驱动 找出位置 modinfo r8169 | grep filename 然后删除 rm path/r8169.ko 卸载驱动 rmmod r8169 查看是否卸载成功 lsm 阅读详情

Truck History
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 15445 Accepted: 5933

Description

Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a truck. The code is simply a string of exactly seven lowercase letters (each letter on each position has a very special meaning but that is unimportant for this task). At the beginning of company's history, just a single truck type was used but later other types were derived from it, then from the new types another types were derived, and so on. 

Today, ACM is rich enough to pay historians to study its history. One thing historians tried to find out is so called derivation plan -- i.e. how the truck types were derived. They defined the distance of truck types as the number of positions with different letters in truck type codes. They also assumed that each truck type was derived from exactly one other truck type (except for the first truck type which was not derived from any other type). The quality of a derivation plan was then defined as 
1/Σ(to,td)d(to,td)

where the sum goes over all pairs of types in the derivation plan such that to is the original type and td the type derived from it and d(to,td) is the distance of the types. 
Since historians failed, you are to write a program to help them. Given the codes of truck types, your program should find the highest possible quality of a derivation plan. 

Input

The input consists of several test cases. Each test case begins with a line containing the number of truck types, N, 2 <= N <= 2 000. Each of the following N lines of input contains one truck type code (a string of seven lowercase letters). You may assume that the codes uniquely describe the trucks, i.e., no two of these N lines are the same. The input is terminated with zero at the place of number of truck types.

Output

For each test case, your program should output the text "The highest possible quality is 1/Q.", where 1/Q is the quality of the best derivation plan.

Sample Input

4
aaaaaaa
baaaaaa
abaaaaa
aabaaaa
0

Sample Output

The highest possible quality is 1/3.


===============================

每两个字符串之间不同字母的个数就是边权,求最小生成树。并查集实现。


#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;
char str[2222][10];
int n,par[2222];

struct edge
{
    int u,v,w;
}edges[4000100];

bool cmp(edge a,edge b)
{
    return a.w<b.w;
}

void makeset()
{
    for(int i=0;i<n;i++) par[i]=i;
}

int findset(int x)
{
    if(x!=par[x]) par[x]=findset(par[x]);
    return par[x];
}

void unionset(int x,int y)
{
    x=findset(x);
    y=findset(y);
    if(x!=y) par[x]=y;
}

int main()
{
    while(~scanf("%d",&n))
    {
        if(n==0) break;
        for(int i=0;i<n;i++)
            scanf("%s",str[i]);
        int cnt=0;
        for(int i=0;i<n;i++)
        {
            for(int j=i+1;j<n;j++)
            {
                int num=0;
                for(int k=0;k<7;k++)
                {
                    if(str[i][k]!=str[j][k])
                        num++;
                }
                edges[cnt].u=i;
                edges[cnt].v=j;
                edges[cnt++].w=num;
            }
        }
        sort(edges,edges+cnt,cmp);
        makeset();
        int sum=0;
        for(int i=0;i<cnt;i++)
        {
            if(findset(edges[i].u)!=findset(edges[i].v))
            {
                unionset(edges[i].u,edges[i].v);
                sum+=edges[i].w;
            }
        }
        printf("The highest possible quality is 1/%d.\n",sum);
    }
    return 0;
}


YOLOv12涨点改进 | 全网首发,Conv改进篇 | CVPR 2025 | YOLOv12引入FDConv频率动态卷积,含A2C2f_FDConv二次创新模块,能够捕捉更加丰富和复杂的特征信息 本文提出了一种改进YOLOv12目标检测模型的方法——频率动态卷积(FDConv)。FDConv通过增强卷积核的频率响应多样性,使模型能够更好地处理不同频率信息,从而提高检测精度。该方法包含三个关键组件:傅里叶离散权重(FDW)实现频率分组,核空间调制(KSM)动态调整频率响应,以及频率带调制(FBM)进行频域调节。实验结果表明,FDConv能以较少的参数增长(仅增加3.6M)显著提升模型性能,在目标检测、实例分割等任务中优于传统动态卷积方法。该方法可灵活集成到ResNet、ConvNeXt等多种架构中。 阅读详情

相关推荐

Bellhop水声信道模型的仿真

Bellhop是一种基于射线追踪的水声信道模型,广泛用于预测水下环境中的声压场。它通过模拟声波在水中的传播路径,计算声场分布,适用于复杂的水下通信场景。

yt94832的博客 1315

最小生成树(prim( ) 算法)

1.题目引入: Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a truck. The code is simply a string of exactly se

weixin_52914088的博客 406

工业模型导入Unity实战:从ProE/SolidWorks到实时渲染的完整流程

在工业仿真、数字孪生和VR/AR应用开发中,将高精度工程模型导入实时渲染引擎是一个常见的技术挑战。其核心原理在于参数化工程软件与实时渲染引擎的数据结构差异:前者基于精确的B-rep边界表示和特征树,后者依赖轻量化的三角网格与材质贴图。这一转换的技术价值在于实现工程数据的可视化与交互化,为产品展示、虚拟培训和工厂仿真等应用场景提供基础。通过数据翻译与优化流程,特别是利用3ds Max或Blender作为中转站进行网格优化与UV展开,能够有效解决模型破面、材质丢失和性能问题。本文聚焦于ProE(Creo)和So

weixin_33050117的博客 344

POJ 1789 Kruskal

Truck History Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 22819 Accepted: 8849 DescriptionAdvanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vege

仰望天空 422

LAP-D协议概述

Q.921协议由称为LAPD(链路访问协议-D通道),与HDLC的关系密切,它是在ISDN D通道上使用的数据链路协议。 注:http://www.freesoft.org/CIE/Topics/125.htm LAP-D的帧格式 标志、位填充技术和FCS校验计算与HDLC一致。 16位的地址包括C/R字段、SAPI(服务访问点标识)和TEI(端点标识)。TEI用于区分使用相同ISDN...

系统运维 1914

2026华为OD面试题029:勇攀数字高峰

在给定的数字地形图里寻找登山路径,数字代表当前位置的海拔高度。要求从最低海拔出发,不断攀登,最终到达最高山峰。地图保证最低海拔和最高山峰都只有一个。 登山规则: - 路径上的海拔必须严格递增 - 只能向上下左右 4 个方向移动 - 路径必须从最低海拔开始,到最高海拔结束 - 每个地点只能走一次 - 每一步的攀登高度差必须大于 0,且不超过指定值 `K` 输出满足条件的登山路径的数量。

琅嬛福地 116

最小生成树—prime算法

生成树 一个连通图的生成树是该连通图的一个极小连同子图,它含有图中全部顶点,和构成一棵树的(n-1)条边。 如果在一棵生成树上添加任何一条边,必定构成一个环,因为这条边使得它依附的那两个顶点之间有了第二条路径。 一棵有n个顶点的生成树(连通无回路图)有且仅有(n-1)条边,但是,有(n-1)条边的图不一定都是生成树。如果一个图有n个顶点和小于(n-1)条边,则是非连通图;如果它有多于(n-1)条边,则一定有回路。 如果图中任意两点都是连通的,那么图被称作连通图。 如果此图是有向图,且双向都有路径,则称为强

weixin_46157720的博客 1万+

如何将 Fiori Elements Object Page Header 工具栏里按钮用 JavaScript 代码设置成禁用状态

本文介绍了如何在SAP Fiori Elements应用中动态控制Object Page工具栏按钮的可用状态。通过UI5 Inspector工具分析发现,这些按钮的enabled属性都双向绑定到/ui/enabled模型字段。在StatusExt.controller.js中,通过获取按钮ID前缀拼接完整控件ID,使用setEnabled(false)方法即可禁用按钮。关键点包括:1)使用extensionAPI获取视图ID前缀;2)注意事件回调中的this上下文绑定;3)通过修改模型字段可同步更新所有绑定

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 373

最小生成树详细讲解(Prime算法+Kruskalsuanfa)

生成树 一个连通图(如果图中任意两点都是连通的,那么图被称作连通图。如果此图是有向图,则称为强连通图(注意:需要双向都有路径))的生成树是该连通图的一个极小连同子图,它含有图中全部顶点,和构成一棵树的(n-1)条边.如果在一棵生成树上添加任何一条边,必定构成一个环,因为这条边使得它依附的那两个顶点之间有了第二条路径.一棵有n个顶点的生成树(连通无回路图)有且仅有(n-1)条边,但是...

innocence的博客 1万+

基于 Qt 的轻量化工业组态软件设计与实现

本文设计并实现了一种基于Qt框架的轻量化工业组态软件,解决了传统组态软件体积庞大、部署复杂等问题。该软件采用模块化架构,集成可视化图形编辑、设备数据采集、脚本扩展等核心功能,具有跨平台运行、资源占用低、启动速度快等特点。通过关键技术优化,实现了高效稳定的数据采集、脚本控制和网络通信,可广泛应用于工业机器人HMI、小型PLC监控等轻量化场景。测试结果表明,该软件体积约30MB,运行内存占用60-80MB,启动时间1.2秒,满足工业轻量化监控需求。未来可扩展更多工业组件和协议支持,进一步提升应用价值。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 140

Sigrity SystemSI仿真分析教程文件路径

为了方便读者能够快速上手和学会Sigrity SystemSI 的功能,将Sigrity SystemSI仿真分析教程专栏所有文章对应的实例文件上传至以下路径。

weixin_54787054的博客 710

poj1789

Truck History Time Limit:2000MS Memory Limit:65536K Total Submissions:8270 Accepted:2970 Description Advanced Cargo Movement, Ltd. uses trucks of different types. S...

weixin_33912453的博客 303

最新2026年《网络数据安全风险评估办法》条款解读

大型企业集团IT变革下的零信任安全体系建设方案(55页).pptx。以数据安全为核心的安全立体防御体系解决方案(41页).pptx。让数据安全合规地创造价值(15页 PPT).pptx。大型集团数据安全应急预案(57页).docx。数据安全治理与评估服务业务介绍.pptx。数据安全管理实践(17页).pptx。大数据安全架构设计方案.pptx。大数据安全规划总体方案.pptx。数据库安全综合治理方案.pptx。医疗数据安全建设方案.pptx。数据安全框架规划图.pptx。数据安全治理方案.pptx。

cdfunlove的博客 47

(最小生成树)POJ1789Truck History

POJ1789Truck History 题意&思路: 给你n个长度为7的字符串,每两个字符串之间的权值为相同位置字符不同的个数。每个字符串都由另一个字符串变化而来,变化的质量为1/权值和。求最大质量。 其实就是求最小权值和。 模板题。 代码: #include<iostream> #include<stdio.h> #include<stdlib.h>...

Z7784562的博客 218

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ 1789 Truck History(最小生成树)

POJ 1789 Truck History(最小生成树) http://poj.org/problem?id=1789 题意:        用一个7位的string代表一个编号,两个编号之间的distance代表这两个编号之间不同字母的个数。一个编号只能由另一个编号“衍生”出来,代价是这两个编号之间相应的distance,现在要找出一个“衍生”方案,使得总代价最小,也就是distance

code 976

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Truck History poj1789 最小生成树

传送门:poj1789 题意大概:用一个7位的string代表一个编号,两个编号之间的distance代表这两个编号之间不同字母的个数。一个编号只能由另一个编号“衍生”出来,代价是这两个编号之间相应的distance,现在要找出一个“衍生”方案,使得总代价最小,也就是distance之和最小。 看懂了题,稍微想想就能转化为求最小生成树。将编号抽象为点,两个编号之间的衍生关系抽象为边,‘距离

WA是一笔财富 355

POJ 1789Truck History——————最小生成树

Truck History Language:DefaultTruck History Time Limit: 2000MSMemory Limit: 65536KTotal Submissions: 33305Accepted: 12935DescriptionAdvanced Cargo Movement, Ltd. uses trucks of different types. Some...

鸿杰 的博客 252

poj1789 Truck History (最小生成树)

点击打开链接 历史上,曾用7个小写字母来表示每种truck的型号,每两种型号之间的差距为字母串中不同字母的个数。现在给出n种不同型号的truck,问怎样使 1/Σ(to,td)d(to,td)的值最小。(即找到一条连接所有truck的最短路径。典型的最小生成树的问题, discuss里说,Prim算法适合稠密图,Kruskal算法适合稀疏图,可以使用prim和kruskal两种方法。该题是稠

hello_fei 1110

poj1789 Truck History 最小生成树

题意: 用一个7为的字符串代表一个卡车的编号,每两个字符串的差异值为它们不同的字母的位数。如: abaaaaa aabaaaa 的差异值为2,因为他们有两位不同。 每个卡车的编号可以由其他编号变换过来,代价为它们的差异值。 为要生成所有的编号,最小的代价为多少。 思路: 本题可以转化成最小生成树。 每个节点代表一个编号,与其他所有节点连边,权值为代价。 可见,最小

Shion的专栏 705

poj 1789 Truck History (最小生成树)

链接:poj 1789 题意:除了第一个车型外,其他的都是由另外的车型派生而来。用一个长度为7的字符串代表一种车型, 两种车型之间的distance为两个字符串不同字符的个数,从一种车型派生到另一种车型的代价为它们之间的 distance,求n个车型之间派生的总代价最小为多少? 分析:这个题可以转化为最小生成树,每个车型为图的顶点,两两之间的距离(即不同字符的个数)为权值

happy_lcj 1032

poj 1789 Truck History(最小生成树 Prim)

poj 1789 Truck History(最小生成树 Prim)

2245

POJ 1789 Truck History 最小生成树

Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a tr...

日拱一卒,功不唐捐 2759

POJ-1789-Truck History-最小生成树

http://poj.org/problem?id=1789 傻逼题犯了傻逼错误。。。。 给你n个字符串 每2个字符串之间的 不同字母个数表示两个字符串的dis距离 把字符串看作点,距离看作边权,求这个最小生成树的权值和 把mini写成minn  了wa了几次。。。。 #include #include #include #include #includ

缺氧 726

POJ - 1789 Truck History 最小生成树

一、内容 Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of...

Tizzi的博客 884

POJ 1789 Truck History 最小生成树

Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 23796   Accepted: 9227 Description Advanced Cargo Movement, Ltd. uses trucks of different types

Houheshuai的专栏 454

POJ 1789 Truck History

POJ 1789 Truck History Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its ow...

旺崽的博客 3156

POJ1789 Truck History 最小生成树

题目大意:ACM公司给自己的运输车编号,每辆车的编号都是互不相同的7个小写字母,定义每两辆车之间的距离为:这两辆车编号上相同位置不同字母的个数,现在让你找出n辆车之间距离和的最小值。 分析:典型的最小生成树问题,把n辆车以及之间的距离看做一个无向图,先找出图中各边的权值(一个循环就行),然后就是裸的Prime了。 实现代码如下: #include #include

AC_Gibson的专栏 521
上一篇: POJ 1751 - Highways(最小生成树)
下一篇: POJ 3268 - Silver Cow Party(dijkstra)
coco430
博客等级 码龄14年 9粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值