Hud 1162 Eddy's picture[MST(kruscal)]

2024-06-07 04:08
文章标签 hud 1162 eddy picture mst kruscal

本文主要是介绍Hud 1162 Eddy's picture[MST(kruscal)],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接:点击打开链接

还是很基础的最小生成树

#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=105;
const int Max=5005;
int n,top,father[N];
struct Point
{double x,y;
}point[N];
struct Line
{double a,b;double lenth;
}line[Max];
bool cmp(Line A,Line B)
{if(A.lenth<B.lenth) return true;return false;
}
void Init()
{for(int i=0;i<=n;i++)father[i]=i;top=0;
}
void input()
{for(int i=1;i<=n;i++)scanf("%lf%lf",&point[i].x,&point[i].y);for(int i=1;i<=n;i++)//直接枚举所有的连线进行排序.{for(int j=i+1;j<=n;j++){line[top].a=i;line[top].b=j;line[top].lenth=sqrt((point[i].x-point[j].x)*(point[i].x-point[j].x)+(point[i].y-point[j].y)*(point[i].y-point[j].y));top++;}}
}
int find(int x)
{if(x!=father[x])father[x]=find(father[x]);return father[x];
}
void kruscal()
{double min=0;sort(line,line+top,cmp);for(int  i=0;i<top;i++){int x=find(line[i].a);int y=find(line[i].b);if(x!=y){father[x]=y;min+=line[i].lenth;}}printf("%.2lf\n",min);
}
int main()
{while(~scanf("%d",&n)){Init();input();kruscal();}
}

1A 大笑

这篇关于Hud 1162 Eddy's picture[MST(kruscal)]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1038126

相关文章

迈巴赫S480升级增强现实AR抬头显示hud比普通抬头显示HUD更好用吗

增强AR实景抬头显示HUD(Augmented Reality Head-Up Display)是一种更高级的驾驶辅助技术,相比于普通抬头显示HUD,它提供了更丰富、更具沉浸感的驾驶体验。以下是它比普通抬头显示HUD多的一些功能: • 信息呈现方式:普通抬头显示HUD通常只能显示简单的文字和图标,而增强AR实景抬头显示HUD可以在驾驶员的视线范围内呈现更多的信息,并将其与实际道路场景进行融合

奔驰EQS SUV升级增强现实AR抬头显示HUD香氛系统

增强AR实景抬头显示HUD(Augmented Reality Head-Up Display)是一种更高级的驾驶辅助技术,相比于普通抬头显示HUD,它提供了更丰富、更具沉浸感的驾驶体验。以下是它比普通抬头显示HUD多的一些功能: • 信息呈现方式:普通抬头显示HUD通常只能显示简单的文字和图标,而增强AR实景抬头显示HUD可以在驾驶员的视线范围内呈现更多的信息,并将其与实际道路场景进行融合,使

车载导航曾经的王者,跌倒之后,欲借AR-HUD重新归来

电子发烧友网报道(文/莫婷婷)汽车智能化加速汽车座舱的演变,从传统座舱到智能座舱,功能不断集中,系统生态开始兼容、适配,智能座舱时代已经正式到来。一个新的时代来临,是进还是守? 如果以守成定输赢,那么凯立德或许就是在汽车智能化过程中被击败的巨头。目前,凯立德官网显示,公司仍在升级服务。与互联网浪潮擦肩而过,如何抓住智能座舱机遇成为凯立德以及其他芯片厂商、零部件供应商、解决方案商的挑战。

hud-2191多重背包问题

#include "stdio.h"#include "string.h"int p[105],h[105],c[105]; //价钱 重量 袋数int dp[105];int n;void CompletePacc(int p,int h) //第i种大米价格 第i种大米重量{int i;for(i=p;i<=n;i++)if(dp[i]<dp[i-p]+h) {dp[

hdu 1161 Eddy's mistakes(字符串:读入一行)

很水的一道题,考察的就是读入一行字符串 之前一直没有认真学习过,今天发现了一篇很不错的博客 分享一下: AC代码如下: #include <cstdio>#include <iostream>#include <cstring>using namespace std;char str[1001];int main(void) {while(cin.getline(str, 1

hdu 1165 Eddy's research II(数学:等差 等比公式)

给出一个递归形式,推出通项公式即可 很容易推得A(1,x) = x+2 则A(2, x) = A(1, A(2, x-1)) = A(2, 0) + 2*x = A(1,1) + 2*x = 2*x+3 A(3, x) = A(2, A(3, x-1)) = 2*A(3, x-1) + 3; 令f(x) = A(3, x), 则可得f(x) = 2*f(x-1) + 3 令g(x) =

hdu1164 Eddy's research I(数论:唯一分解式)

一道很简单的水题有木有啊!! 我又TLE了好几次 原因是我用的是逗号表达式,今天听学长说了才知道,逗号表达式的结果就是最后一个逗号后表达式的结果 所以我的程序会一直判断正确,一直继续执行... 看到题目想都没想就用欧拉函数变形,TLE后我还以为真的是算法问题 想了想和打表差的也不多啊... 欧拉定理15ms: #include <math.h>#include <stdio.h

poj1177--Picture--扫描线

思想和前段时间的1151差不多, 都是通过扫描线的移动来计算周长,不同的是要通过对与x轴平行的扫描线扫一次,与y轴平行的扫描线扫一次, 扫描两次得到周长。 变量last为记录上一次扫描得到的长度,sum为记录这一次总共扫描得到的长度。 abs(sum-last)即为所扫描到的一次长度, 非常耐人寻味的是,我询问学长为什么可以这样做的时候,学长提到了一个投影的

HDU 2204 Eddy's爱好 容斥

题意: 输入n,求出1~n中,有多少个值可以表示为M^K(K>1)。 思路: 容斥。这题算是我的容斥第一题吧。现在回头看容斥原理,就是奇数个集合就加,偶数个集合就减(说得貌似顶简单,在做题过程中找该容斥什么也蛮累的= =)。 首先看这个,对于2^4和4^2,如果直接计算个数,这样会导致重复。因此指数应该强制为质数(素数),则可以避免这个问题(根据算术基本定理,一个大于1的值总能表示为素数的

nyoj-1162-数字

数字 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 0 描述 有一行数字 ,现在定义 0表示空格,即这行数字被分割成若干个数 要求将这些数按照从小到大顺序排列,若该行数字全为零 则表示为零,两个数字之间可能有多个0,开头和结尾可能都有0,所有的0都看成空格,数字的个数不超过100。 输入 输入有n组数据 每组数据都有一行数字(每个数在整形范