ZOJ 1203 Swordfish(Kruskal 最小树)

Prim算法求最小生成树及其权重 【问题描述】输入有n个顶点的连通图,第一行给出节点个数和边的数目,然后依次输入两个点和两点线段的长度,最后输出最小生成树序列和最小权重。【结构体定义】#include <stdio.h> #include <mm_malloc.h> int N; #define MAX 9999 typedef struct edge_node { int incr_vert ,ve... 阅读详情


Swordfish

Time Limit: 2 Seconds Memory Limit: 65536 KB

There exists a world within our world
A world beneath what we call cyberspace.
A world protected by firewalls,
passwords and the most advanced
security systems.
In this world we hide
our deepest secrets,
our most incriminating information,
and of course, a shole lot of money.
This is the world of Swordfish.

We all remember that in the movie Swordfish, Gabriel broke into the World Bank Investors Group in West Los Angeles, to rob $9.5 billion. And he needed Stanley, the best hacker in the world, to help him break into the password protecting the bank system. Stanley's lovely daughter Holly was seized by Gabriel, so he had to work for him. But at the last moment, Stanley made some little trick in his hacker mission: he injected a trojan horse in the bank system, so the money would jump from one account to another account every 60 seconds, and would continue jumping in the next 10 years. Only Stanley knew when and where to get the money. If Gabriel killed Stanley, he would never get a single dollar. Stanley wanted Gabriel to release all these hostages and he would help him to find the money back.
You who has watched the movie know that Gabriel at last got the money by threatening to hang Ginger to death. Why not Gabriel go get the money himself? Because these money keep jumping, and these accounts are scattered in different cities. In order to gather up these money Gabriel would need to build money transfering tunnels to connect all these cities. Surely it will be really expensive to construct such a transfering tunnel, so Gabriel wants to find out the minimal total length of the tunnel required to connect all these cites. Now he asks you to write a computer program to find out the minimal length. Since Gabriel will get caught at the end of it anyway, so you can go ahead and write the program without feeling guilty about helping a criminal.

Input:
The input contains several test cases. Each test case begins with a line contains only one integer N (0 <= N <=100), which indicates the number of cities you have to connect. The next N lines each contains two real numbers X and Y(-10000 <= X,Y <= 10000), which are the citie's Cartesian coordinates (to make the problem simple, we can assume that we live in a flat world). The input is terminated by a case with N=0 and you must not print any output for this case.

Output:
You need to help Gabriel calculate the minimal length of tunnel needed to connect all these cites. You can saftly assume that such a tunnel can be built directly from one city to another. For each of the input cases, the output shall consist of two lines: the first line contains "Case #n:", where n is the case number (starting from 1); and the next line contains "The minimal distance is: d", where d is the minimal distance, rounded to 2 decimal places. Output a blank line between two test cases.

Sample Input:
5
0 0
0 1
1 1
1 0
0.5 0.5
0

Sample Output:
Case #1:
The minimal distance is: 2.83

思路:标准的最小树模板题,我是用Kruskal算法实现的,说白了就是并查集,每次选最短不在同一区域的加入集合。



#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<iomanip>
#include<vector>
using namespace std;
const int mm=110;
const int nn=5000;
struct node{double x,y;}p[mm];
struct poin{int u,v;double d;};
poin edge[nn];
int root[mm],ran[mm];
int m,pos;
inline double dis(node a,node b)
{
  return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int look(int x)
{
  if(x!=root[x])root[x]=look(root[x]);
  return root[x];
}
void uni(int x,int y)
{
  if(ran[x]>ran[y])root[look(y)]=look(x),ran[x]+=ran[y],ran[y]=0;
  else root[look(x)]=look(y),ran[y]+=ran[x],ran[x]=0;
}
bool cmp(poin a,poin b)
{
  return a.d<b.d;
}
int main()
{ int cas=0;
  while(cin>>m&&m)
  {
    for(int i=0;i<m;i++)
      cin>>p[i].x>>p[i].y;
    pos=0;
    poin w;
    for(int i=0;i<m;i++)
      for(int j=i+1;j<m;j++)
      {
        w.u=i;w.v=j;w.d=dis(p[i],p[j]);
        edge[pos++]=w;
      }
      for(int i=0;i<mm;i++)root[i]=i,ran[i]=1;
      sort(edge,edge+pos,cmp);
      double min_dis=0.0;
      for(int i=0;i<pos;i++)
      { w=edge[i];
        if(look(w.u)!=look(w.v))min_dis+=w.d,uni(w.u,w.v);
      }
      if(cas)cout<<"\n";++cas;
      cout.setf(ios::fixed);
      cout<<"Case #"<<cas<<":\n";
      cout<<setprecision(2)<<"The minimal distance is: "<<min_dis<<"\n";

  }
}


CrewAI 多 Agent 实战包 v1(Mock免Key跑通+通义千问可选+流水线样例) 本资源是 CrewAI 风格多 Agent 可运行工程包:研究→写作→审校等流水线样例。无 API Key 时自动降级 Mock 引擎跑通;有 DASHSCOPE_API_KEY 时可接真实 CrewAI + 通义千问。含中文 README、samples、smoke 留档、单元测试。本包不含密钥。关联博客:https://blog.youkuaiyun.com/mtl1994 立即下载

相关推荐

市场销售总监年终汇报必备PPT.pptx

市场销售总监年终汇报必备PPT

ZOJ 1011 NTA(二叉树+vector)

NTA Time Limit: 2 Seconds      Memory Limit: 65536 KB The NTA (Non-deterministic Tree Automata) is a kind of tree structure device. The device is built in a set of operating rules. With these

nealgavin的专栏 1176

2263XT开卡工具N48R,威刚S20

2263XT开卡工具N48R,威刚S20可用

UVA 10600 ACM Contest and Blackout(次小树,3级)

F - ACM Contest and Blackout Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Appoint description:  System Crawler  (2013-10-08) Description Probl

nealgavin的专栏 950

半桥LLC谐振变换器开环+闭环仿真设计资料(Simulink仿真实现)

内容概要:本文档系统性地介绍了半桥LLC谐振变换器的开环与闭环仿真设计方法,基于Simulink平台构建完整的仿真模型,涵盖系统建模、关键参数设计、控制策略实现及动态性能验证全过程。重点阐述了LLC谐振变换器的工作原理、谐振腔参数(Lr、Cr、Lm)的优化设计方法、零电压开关(ZVS)与零电流开关(ZCS)等软开关技术的实现机制,并深入探讨电压/电流双闭环控制策略,特别是恒压恒流双竞争控制逻辑的切换机制与稳定性保障。资料配套提供完整的仿真模型、详细说明文档及参考文献,有助于全面掌握其在启停过程、负载突变等工况下的动态响应特性与系统鲁棒性调控方法。; 适合人群:具备电力电子技术基础理论知识和Simulink仿真操作能力的高校研究生、科研机构研究人员,以及从事高频高效开关电源、新能源汽车车载充电机(OBC)、充电桩电源、数据中心供电等领域的工程技术人员。; 使用场景及目标:① 掌握LLC谐振变换器在实际工程中的精确建模与仿真分析流程;② 深入理解并独立实现从开环频率调制到闭环反馈控制的平滑切换逻辑;③ 应用于高效率DC-DC变换器、电动汽车充电系统、可再生能源并网电源等场景下的控制系统设计与性能优化; 阅读建议:建议结合所提供的仿真模型进行分步调试与参数扫描实验,重点关注控制器带宽设计、谐振元件参数匹配对效率的影响以及系统上电过程中的软启动策略设计,同时推荐对比学习全桥LLC、CLLC等衍生拓扑的相关资料,以建立完整的谐振变换器控制体系认知。

SOP 配电网故障重构方法研究【IEEE33节点】(Matlab代码实现)

内容概要:本文围绕基于SOP(Soft Open Point)的配电网故障重构方法展开研究,采用IEEE33节点标准配电系统作为仿真测试平台,利用Matlab进行代码实现与仿真验证。研究重点在于通过SOP这一柔性电力电子装置实现故障后网络拓扑的快速重构,提升供电恢复能力与系统可靠性。文中详细阐述了故障重构的数学建模过程,结合优化算法实现负荷转供与孤岛划分的协同决策,在保证辐射状运行约束的前提下,最大限度恢复失电负荷,并降低网络损耗。该方法充分体现了SOP在主动配电网中的灵活调控优势,为现代智能配电网的自愈控制提供了有效技术路径。; 适合人群:电气工程及相关专业的高校研究生、从事配电网自动化与智能电网研究的科研人员,以及具备一定Matlab编程基础和电力系统分析背景的研发技术人员。; 使用场景及目标:① 掌握基于SOP的配电网故障恢复机制与重构策略设计;② 学习如何在Matlab环境下构建IEEE33节点系统模型并实现故障重构算法;③ 深入理解含分布式电源与柔性装置的主动配电网优化运行方法; 阅读建议:建议结合电力系统分析基础知识,重点关注SOP的建模方式、故障重构的优化目标与约束条件设定,并动手实践Matlab代码以加深对算法流程和仿真结果的理解。

CF-27E - Number With The Given Amount Of Divisors(枚举+dfs)

E - Number With The Given Amount Of Divisors Crawling in process...Crawling failedTime Limit:2000MSMemory Limit:262144KB 64bit IO Format:%I64d & %I64u SubmitStatus Practice CodeForces 27E

nealgavin的专栏 922

一份外盘期货历史高频tick数据,涵盖能源、贵金属、股指等主要品种的逐笔成交与盘口快照 每条记录包含精确至毫秒的时间戳、合约代码、成交价格、成交量以及主动买卖方向标识 同时提供该时刻的最优申买价、申卖

一份外盘期货历史高频tick数据,涵盖能源、贵金属、股指等主要品种的逐笔成交与盘口快照。每条记录包含精确至毫秒的时间戳、合约代码、成交价格、成交量以及主动买卖方向标识。同时提供该时刻的最优申买价、申卖价及对应挂单量,用于还原盘口深度变化,数据时间覆盖连续的多个交易日。 数据源:CMES金融数据库

UVA 11865 Stream My Contest(最小树形图,4级)

C - Stream My Contest Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Appoint description:  System Crawler  (2013-05-30) Description G

nealgavin的专栏 914

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

内容概要:本文档聚焦于电力电子与控制系统领域的仿真研究,核心内容为“基于变频控制的多相交错LLC谐振变换器闭环仿真”的Simulink实现。系统阐述了LLC谐振变换器的开环与闭环控制策略、软开关技术、恒压恒流双竞争控制机制、多相交错结构设计及变频调制原理,通过建模仿真深入剖析高频DC-DC变换器的工作特性与动态响应。文档整合了丰富的科研资源,涵盖双向CLLC、DAB变换器、PWM整流器、微电网优化调度、状态估计(EKF/UKF/PF)等多个前沿方向的仿真案例,形成一个体系完整、技术覆盖面广的综合性技术资料库,适用于高水平科研与工程实践。; 适合人群:电气工程、自动化、电力电子及相关专业的研究生、高校科研人员,以及从事新能源发电、电动汽车、智能电网、工业电源等领域的技术研发工程师。; 使用场景及目标:①开展高频谐振变换器拓扑结构与先进控制策略的深入研究;②完成复杂电力电子系统的建模、仿真与性能验证;③支撑SCI/EI论文撰写、科研项目申报与关键技术攻关;④辅助高校课程设计、研究生课题实践与毕业设计的仿真实验环节。; 阅读建议:建议结合文中提供的网盘资源与微信公众号资料进行系统学习,优先掌握LLC变换器的基本工作模态与谐振原理,再逐步深入闭环控制器设计与参数整定,仿真过程中应重点关注关键波形分析与系统稳定性判据,以全面提升对高频变换器动态特性的理解与工程应用能力。

实战指南:将MediaPipe封装为Windows DLL,实现C++/C#高效调用

在计算机视觉和多媒体处理领域,跨平台框架为开发者提供了强大的算法模型和计算能力。其核心原理在于通过预训练的机器学习模型和优化的计算图,实现对图像、视频流中特定目标(如人脸、手势、姿态)的实时检测与分析。这项技术的价值在于能够将复杂的AI能力模块化,降低应用开发门槛。在实际工程实践中,为了突破特定语言生态的限制并优化部署流程,开发者常需将核心功能封装成独立的库。例如,将Google的MediaPipe框架封装为Windows动态链接库(DLL),就是一个典型的工程实践。此举能有效解决语言壁垒和部署简化问题,使

weixin_28691741的博客 360

UVA 11354 Bond(prim+LCA,4级)

B - Bond Time Limit:8000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Appoint description:  System Crawler  (2013-05-30) Description B NEXT

nealgavin的专栏 870

【语音识别算法】深度学习语音识别算法与传统语音识别算法的区别、对比及联系

深度学习语音识别算法与传统语音识别算法在理论基础、实现方式、性能表现等方面存在显著区别,同时也有一些联系。下面将从几个方面详细比较这两种方法,并给出应用实例和代码示例。

weixin_51306394的博客 2567

UVALive 3887 Slim Span(枚举+MST,4级)

E - Slim Span Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Appoint description:  System Crawler  (2013-06-01) Description Given an undirec

nealgavin的专栏 814

Mann-Kendall检验全解析:从原理到11种变体及Python实现

本文全面解析Mann-Kendall检验,从基础原理到应对自相关、季节性等复杂数据的11种关键变体,如Hamed-Rao修正、季节性MK和趋势自由预白化(TFPW)。详细阐述各方法的适用场景与数学原理,并提供完整的Python实战代码,帮助研究者针对不同数据特性选择最稳健的趋势分析方法。

weixin_29050271的博客 458

【codex教程】Codex 注册和使用教程(2026最新版)

Codex 是 OpenAI 推出的 AI 编程助手,可以帮助开发者阅读代码、修改代码、运行命令、生成测试、排查 bug、做代码审查,也可以在终端、IDE、Codex App 或网页端使用。根据 OpenAI 帮助中心,截至 2026 年 6 月,Codex 已包含在 Free、Go、Plus、Pro、Business、Edu 和 Enterprise 等 ChatGPT 方案中,但不同套餐的使用额度会有所不同。适合开发者在终端中使用。如果你想在命令行里使用 Codex,可以安装 Codex CLI。

与时俱进,开放共享 2万+

HDU 4081 Qin Shi Huang's National Road System(次小树,4级)

A - Qin Shi Huang's National Road System Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Appoint description:  System Crawler  (2013-08-20) De

nealgavin的专栏 710

Audio2Face进阶玩法:结合LiveLink在UE5中实现MetaHuman全身动画+语音驱动(保姆级配置指南)

本文提供了一份详尽的保姆级教程,指导如何将NVIDIA Audio2Face与Unreal Engine 5的LiveLink功能结合,实现驱动MetaHuman数字人面部表情的同时,无缝融合身体动画。文章详细讲解了从环境准备、插件部署、基础面部驱动测试,到动画蓝图高级配置与多数据流融合的全流程,并分享了性能优化与问题排查的实战经验,旨在帮助创作者打造表情与肢体动作协调统一的生动数字人。

q9w8e7r6t5的博客 196

USACO section 3.1 Agri-Net(最小生成树,prim)

Agri-Net Russ Cox Farmer John has been elected mayor of his town! One of his campaign promises was to bring internet connectivity to all farms in the area. He needs your help, of course. Farmer Jo

nealgavin的专栏 640

3、结合物理学与深度学习的连续时间动力学模型

本文探讨了如何结合物理学原理与深度学习技术,构建连续时间动力学模型,以提升机器人系统对复杂动态环境的建模与控制能力。重点介绍了深度拉格朗日网络(DeLaN)和深度哈密顿神经网络(HNN)的理论基础及其在模拟与物理系统中的实验表现,并展示了其在逆向模型、前向模型以及能量控制任务上的优越性能。文章还分析了当前方法的局限性,并提出了未来研究方向,如接触处理、广义坐标学习及优化损失函数等。

linux的博客 908

【DRAM存储器六十五】DDR5介绍--训练相关之MPC、Read Training Pattern、Read Preamble Training Mode

简述DDR5 MPC操作和读训练时颗粒输出pattern的配置

highman110的博客 361

ZOJ 1542 poj 1861 Network(并查集+最小树)

Network Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Andrew is working as system administrator and is planning to establish a new network in his company. There will be N hubs in

nealgavin的专栏 590

【GB28181】wvp-GB28181-pro++ZLMediaKit编译安装国标流媒体服务器教程(Windows平台)

本文基于ZMLMediaKit+WVP-PRO在windows平台进行编译部署GB28181平台,网上教程也比较多,都大同小异,实际操作过程中容易出错的地方也比较多:redis安装无密码,mysql安装后密码的修改以及wvp数据可的创建,配置文件侧修改,尤其是和端口相关的项,再就是运行服务时各种错误需要注意,常见的错误已经做了汇总,遇到问题大家不要怕,找到报错的地方查看定位即可。

废人一枚的博客 4477

poj 1679 The Unique MST(最小树不唯一的判定)

The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 16068   Accepted: 5566 Description Given a connected undirected graph, tell if its minimum s

nealgavin的专栏 547

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: CF-30 D - King's Problem?(枚举+最短路)
下一篇: ZOJ 1542 poj 1861 Network(并查集+最小树)
剑不飞
博客等级 码龄15年 86粉丝 505原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值