HDU 4463 最小生成树 并查集

hdu4463 Outlets(必含某条边的最小生成树) 题目链接:点击打开链接 题意描述:给定一些点,在这些点之间建边使所有的点联通,要求在必须包含某条边的前提下边的权值之和最小? 解题思路:最小生成树问题prime(水题) 分析:我们将p、q两点的最短距离设为0,然后将p、q压入优先权队列中进行prime即可,记得最后加上p->q的权值即可 代码: #include #include #include #include #d 阅读详情
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;

const int maxn=55;
struct point
{
    int x,y;
}pnt[maxn];
struct edge
{
    int s,e;
    double len;
    bool operator < (edge e) const
    {
        return len < e.len;
    }
}e[maxn*maxn];
int father[maxn];

double getlen(point a,point b)
{
    return sqrt( (a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y) );
}

int find(int x)
{
    if(father[x]==x)
    {
        return x;
    }
    return find(father[x]);
}

int main()
{
    int n;
    while(~scanf("%d",&n),n)
    {
        int i,j,p,q;
        scanf("%d%d",&p,&q);
        int ne=0;
        for(i=1;i<=n;i++)
        {
            scanf("%d%d",&pnt[i].x,&pnt[i].y);
            for(j=1;j<i;j++)
            {
                e[ne].s=i;
                e[ne].e=j;
                e[ne++].len=getlen(pnt[i],pnt[j]);
            }
        }

        sort(e,e+ne);
        for(i=1;i<=n;i++)
        {
            father[i]=i;
        }
        double ans=getlen(pnt[p],pnt[q]);
        father[p]=q;

        int u,v;
        for(i=0;i<ne;i++)
        {
            u=find(e[i].s);
            v=find(e[i].e);
            if(u!=v)
            {
                ans += e[i].len;
                father[u] = v;
            }
        }

        printf("%.2lf\n",ans);
    }
    return 0;
}


168、OIS光学防抖系统设计:陀螺仪标定、音圈马达驱动与滚珠式/悬丝式结构选型 本文总结了OIS光学防抖系统设计中的关键问题与解决方案。作者通过实际案例指出,陀螺仪标定需重视零偏、灵敏度和温度补偿问题,音圈马达驱动需采用电流环控制并优化相位补偿。在机械结构选型方面,滚珠式适合大角度补偿但存在回差问题,悬丝式精度高但受重力影响,需根据应用场景选择。系统联调建议从开环到闭环逐步验证,注意陀螺仪与驱动频率匹配。最后给出5条经验建议:关注陀螺仪信噪比而非分辨率、预留标定余量、重视机械结构公差、配备专业调试工具、协调OIS与电子防抖的分工配合。文章强调OIS调试需针对不同模组特性进行反复测试与标 阅读详情

相关推荐

Python 高级语法:闭包

闭包(Closure)是函数式编程中的一个重要概念。在Python中,闭包可以简单理解为:一种特殊的函数。外函数:嵌套函数中最外层的函数称之为外函数。内函数:嵌套函数中最内层的函数称之为内函数;内函数引用了外函数的临时变量;外函数的返回使用了临时变量的内函数。

moment159的博客 2354

HDU-4463-Outlets

HDU-4463-Outlets http://acm.hdu.edu.cn/showproblem.php?pid=4463 已知两点相连,求最小生成树,第一次参加现场赛,各种悲剧。。。这题我敲的,调试了半天才过。。。菜鸟伤不起哇。。。 #include #include #include #include #define N 100 struct node { int x; int

奋斗的菜鸟 369

强化学习经典算法笔记(九):LSTM加持的PolicyGradient算法

强化学习经典算法笔记(九):LSTM加持的PolicyGradient算法 在上文《强化学习经典算法笔记(八):LSTM加持的A2C算法解决POMDP问题》的基础上,实现了LSTM+MLP的Policy Gradient算法。 实现过程如下: import argparse, math, os, sys import numpy as np import gym from gym import wrappers import matplotlib.pyplot as plt import torch fr

hhy_csdn的博客 5636

HDU1301 Outlets 解题报告--prim

Outlets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1053    Accepted Submission(s): 475 Problem Description In China, foreign brand

Lucky 593

ollama服务暴露公网?三步搞定Nginx反向代理配置(避坑指南)

本文详细介绍了如何通过Nginx反向代理安全地将Ollama服务暴露到公网,避免直接修改OLLAMA_HOST带来的安全隐患。文章提供了从SSL证书部署到高级安全加固的全流程实战指南,包括IP白名单、基础认证、速率限制等企业级安全措施,帮助用户实现安全可靠的外部访问。

wood5的博客 178

计算机网络实验六 RIP 配置实验

Man! What can I say?

AClerk的博客 1594

hdu 4463(最小生成树变形)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4463思路:由于nike与apple必须有直接的边相连,因此可以先把这条边选进去,然后就是Kruskal求最小生成树了,由于一开始已经把点nike和点apple合并了,因此kruskal选择边的时候就不会选进去了。 1 #include&lt;iostream&gt; 2 #includ...

weixin_34250709的博客 163

【遥感数字图像处理(朱文泉)】第四章 变换域处理方法

变换域的处理方法

甜子yu的博客 4311

hdu 4463 Outlets 最小生成树

。。。

禅境花园 883

深入解析MOSFET结电容与分布参数:Cgd、Cgs、Cds与Ciss、Crss、Coss的关系与应用

本文深入解析了MOSFET结电容Cgd、Cgs、Cds及其等效参数Ciss、Crss、Coss对开关性能的影响。文章详细阐述了米勒电容Cgd如何导致开关损耗与振荡,并提供了基于电容参数的高频电路选型、驱动设计及PCB布局优化等实战指南,帮助工程师解决开关电源与电机驱动中的常见问题。

weixin_29240711的博客 1308

如何将一个向量投影到一个平面上_线性代数19——投影矩阵和最小二乘

一维空间的投影矩阵  先来看一维空间内向量的投影:  向量p是b在a上的投影,也称为b在a上的分量,可以用b乘以a方向的单位向量来计算,现在,我们打算尝试用更“贴近”线性代数的方式表达。  因为p趴在a上,所以p实际上是a的一个子空间,可以将它看作a放缩x倍,因此向量p可以用p = xa来表示,只要找出x就可以了。因为a⊥e,所以二者的点积为0:  我们希望化简这个式子从而得出x:  x是一个实数...

weixin_39741101的博客 5231

hdu4463-Outlets

http://acm.hdu.edu.cn/showproblem.php?pid=4463 // File Name: hdu4463.cpp // Author: bo_jwolf // Created Time: Thursday, May 09, 2013 PM01:06:34 HKT #include #include #include #include #include #

bo-jwolf的专栏 1169

Spine骨骼动画查看器 - Skeleton Viewer

骨骼动画是现代游戏和动画制作中常用的技术之一。Spine骨骼动画查看器(Skeleton Viewer)是一个官方提供的工具,用于查看和调试Spine骨骼动画。本文将介绍Skeleton Viewer的功能和使用方法,并提供相应的源代码示例。通过Skeleton Viewer,开发者可以直观地查看和调试Spine骨骼动画,包括骨骼结构、动画播放和事件触发等。这有助于提高骨骼动画的质量和效果,并加速开发过程。以上代码演示了如何使用Skeleton Viewer查看和播放Spine骨骼动画。

HsvvDatabase的博客 3463

HDU 4463 Outlets(最小生成树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4463 题意:要在n个商店之间修路,商店p和q必须直接通过一条马路相连,所有商店之间必须能通过马路联系,求修建马路的最小长度。 分析:其实就是简单的求最小生成树问题,不过加了一个限制条件那就是点p q必须连接在一起,可在用并查集求最小生成树之前先将pq合并到一个子集中,然后在按部就班的求即可,最

smwqd_yehua_cx的博客 508

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HDU 4463--最小生成树+并查集标记

题意: 有n家店,要你把他们连在一起(即建成一颗最小生成树),耐克和苹果是要求必须有边直接连的,然后就给你n个店的坐标。输出你建好的生成树的权值。 输入: 4 2 3 0 0 1 0 0 -1 1 -1 0 输出: 3.41 分析: 最小生成树,首先将各个商店连接起来,将边进行排序,找出最小的边的权值,为了排序我们建立一个结构体,用来储存坐标,和边权

shao1996的博客 351

计算机控制技术及应用

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

最小生成树 - kruskal 小讲 【 理解 + 例题 】

最近学不进新的东西,只能看看以前的了,

Joursion 5303

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

hdu 4460 && hdu 4461 && hdu 4463

hdu 4463 Outlets 裸的最小生成树  ,只是有一条边是必须出现在树中,直接一开始把他们连在一起就行了。 hdu  4461 The Power of Xiangqi 签到的,每个字母有自己的能量,但如果没有同时拥有B和C且总能量本来就>1,那总能量-1,求红和黑谁的能量多 hdu 4460

qqspeed 1270

hdu 4463 Outlets(最小生成树)

题目链接:hdu 4463 Outlets 题目大意:给定N个点,以及P,Q,问说建立N-1条边联通N个点的最短长度,要求P,Q必须建立边。 解题思路:最小生成树水题。 #include #include #include #include #include using namespace std; const int maxn = 55; struct edge {

不慌不忙、不急不躁 1030

最小生成树——hdu 4463

杭电hdu4463 最小生成树

Arizona不放弃 411

hdu4463 Outlets 最小生成树

不超过50个点,先给两个点s1,s2表示这两个点必须先连起来,接下来给出n个点的坐标,在先连接s1,s2的前提下求最小生成树。 N不到50..普利姆,克鲁斯卡尔随便都能搞吧..虽说完全图理论上普利姆快一点-  -...   #include #include #include #include #include #include #include #include #inclu

Broken Wings 1281

hdu 4463 Outlets

hdu 4463 Outlets Online Judge Online Exercise Online Teaching Online Contests Exercise Author F.A.Q Hand In Hand Online Acmers Forum | Discuss Statistical Charts Problem Archive Realtime Judge Status Authors Ranklist C/C++/Java Exams ACM

Coding A World 853

HDU 4463 Outlets (最小生成树kruskal算法)

Outlets Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description In China, foreign brand commodities are often much more expensive than abroad. The main ...

雷银行的博客 363

hdu 4463 Outlets(最小生成树,kruskal,前向星)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4463 最小生成树的应用,但是要先把其中两个点连接起来,然后选取剩余的n-2条边。为了和纯粹的kruskal算法尽量相似,我在结构体上多下了功夫,可能看起来有点复杂。 #include #include #include #include #include #include using names

theArcticOcean 792

hdu4463

/* 分析:     2012亚洲杭州站K题。     水题。。。                         2012-11-08 */ #include"stdio.h" #include"string.h" #include"stdlib.h" #include"math.h" int pre[100]; struct

Ice_Crazy的专栏 1242

HDU4463Outlets(最小生成树)

HDU4463Outlets(最小生成树) HDU4463Outlets 题目大意:  需要新建一个mall,里面有很多的商店,希望修最短的路,使得里面的店联通,可以通过别的店间接的联通,但是有规定两家店一定要直接的联通。求在这样的条件下的最短的路径。 解题思路:  最小生成树,只是前提是先要使得要求的两个结点先联通。 代码: #include #inclu

624
上一篇: STOJ 增长率问题
下一篇: 长度不超过k的最大连续子序列(单调队列)
MakingMaker
博客等级 码龄15年 6粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值