HDU 5253 连接的管道

智能变电站协议系列-1、GOOSE、SV、MMS协议简介及GOOSE示例运行问题(IEC61850) 目前有一个新的研究,关于电网使用的GOOSE、SV、MMS协议,并使用相关库来做一下测试。由于goose、sv、mms等都属于IEC61850,因此,需要对IEC61850相关内容有一些了解,都是国际标准,属于电气自动化的一部分,对于自动化或者电气相关领域有接触的专业应该或多或少有一些了解。IEC61850目标是用于变电站自动化、分布式能源、水力和天然气发电厂、风力发电厂、电动汽车作为分布式能源等领域,目前似乎在变电站自动化方面的推广和使用更加广泛。 阅读详情

分析:题意就不说了,因为这题的高度差比较小,所以可以用并查集暴力求解,做的时候发现带参数的宏定义的效率很低,比如我用# define abs(x) (x>0?x:-(x)) 这样就超时了,写个函数就不会超时,用暴力的话,一不小心就超时了。这题还可以用Kruskal的最小生成树来做,但速度居然没有暴力的快,也许是我写的姿势不对。

并查集暴力:

# include <stdio.h>
# include <string.h>
  int n,m,map[1005][1005],root[1000005];
  void Init()
  {
      int i;
      for(i=0;i<n*m;i++)
        root[i]=i;
  }
  int Find(int x)
  {
      if(root[x]!=x)
        root[x]=Find(root[x]);
      return root[x];
  }
  int main()
  {
      int i,j,k,sum,T,t=1,fa,fb;
      scanf("%d",&T);
      while(T--)
      {
          scanf("%d%d",&n,&m);
          Init();
          for(i=0;i<n;i++)
            for(j=0;j<m;j++)
              scanf("%d",&map[i][j]);
          for(i=0;i<n;i++)
            map[i][m]=1000;
          for(j=0;j<m;j++)
            map[n][j]=1000;
          for(k=0,sum=0;k<=100;k++)//从高度差为0到100找一遍
            for(i=0;i<n;i++)
              for(j=0;j<m;j++)
              {
                  if(map[i][j]-map[i][j+1]==k||map[i][j+1]-map[i][j]==k)
                  {
                      fa=Find(i*m+j);
                      fb=Find(i*m+j+1);
                      if(fa!=fb)
                        root[fa]=fb,sum+=k;
                  }
                  if(map[i][j]-map[i+1][j]==k||map[i+1][j]-map[i][j]==k)
                  {
                      fa=Find(i*m+j);
                      fb=Find(i*m+j+m);
                      if(fa!=fb)
                        root[fa]=fb,sum+=k;
                  }
          }
          printf("Case #%d:\n%d\n",t++,sum);
      }
      return 0;
  }

Kruskal最小生成树:

# include <stdio.h>
# include <algorithm>
  using namespace std;
  struct edge
  {
      int u,v,w;
  }e[2000005];
  int n,m,k,t=1,map[1005][1005],root[1000005];
  int Find(int x)
  {
      if(root[x]!=x)
        root[x]=Find(root[x]);
      return root[x];
  }
  int abs(int x)
  {
      return x>0?x:-x;
  }
  int cmp(edge a,edge b)
  {
      return a.w<b.w;
  }
  void Kruskal()
  {
      int i,fa,fb,sum=0;
      for(i=0;i<n*m;i++)
        root[i]=i;
      sort(e,e+k,cmp);
      for(i=0;i<k;i++)
      {
          fa=Find(e[i].u);
          fb=Find(e[i].v);
          if(fa!=fb)
            root[fa]=fb,sum+=e[i].w;
      }
      printf("Case #%d:\n%d\n",t++,sum);
  }
  int main()
  {
      int i,j,T;
      scanf("%d",&T);
      while(T--)
      {
          scanf("%d%d",&n,&m);
          for(i=0;i<n;i++)
            for(j=0;j<m;j++)
              scanf("%d",&map[i][j]);
            for(i=0,k=0;i<n;i++)
              for(j=0;j<m-1;j++)
              {
                  e[k].u=i*m+j;
                  e[k].v=i*m+j+1;
                  e[k++].w=abs(map[i][j]-map[i][j+1]);
              }
            for(i=0;i<n-1;i++)
              for(j=0;j<m;j++)
              {
                  e[k].u=i*m+j;
                  e[k].v=i*m+j+m;
                  e[k++].w=abs(map[i][j]-map[i+1][j]);
              }
              Kruskal();
      }
      return 0;
  }


Cesium+Vue3教程(003):基于Vue3的Cesium自定义地图和地图叠加 在 Cesium 中,是用于加载地表影像图层的核心接口。通过它,您可以将各种地图服务(如卫星影像、街道地图、自定义瓦片等)加载到 Cesium 的地球上。Cesium 提供了多个内置的。 阅读详情

相关推荐

SpringBoot项目整合达梦数据库(MYSQL 转换 达梦数据库)

注意:当迁移过程中出现下面问题时,如有触发器或者外键,需要先关掉触发器和外键,然后进行迁移,不然会导致迁移失败。(2)dm.ini修改【#compatibility】的【COMPATIBLE_MODE】=4。3、添加用户:如果导入的DM数据库需要和MYSQL的用户一样,添加ROOT用户。方法一:服务器配置:设置系统兼容性(DM控制台工具),兼容MySQL。服务器配置又该有两种方式:①DM控制台工具修改;MYSQL的数据表转换成DM的数据表时,点击转换按钮。在这里操作:MYSQL数据库迁移至DM数据库。

m0_74824635的博客 2013

HDU 5253 最小生成树(kruskal)+ 并查集

题目链接 #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #define N 1000010 using namespace std; struct node { int a;//端点1 int b;...

weixin_30512089的博客 90

当知识图谱遇见多模态:突破文本界限的智能认知革命

本文探讨了知识图谱与多模态技术的融合,揭示了其在医疗诊断、文化保护等领域的革命性应用。通过图神经网络、对比学习框架和跨模态注意力机制等技术,实现了文本、图像和音频数据的智能关联与认知。文章还分享了在Neo4j等图数据库中的实践案例和优化策略,为构建下一代智能认知系统提供了技术参考。

weixin_29197835的博客 464

HDU 5253-连接的管道

连接的管道 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4473    Accepted Submission(s): 1413 题目链接:连接的管道 Problem Description

别止的博客 371

Materials Studio实战技巧(八)——利用片段库高效构建有机金属配合物

本文详细介绍了在Materials Studio中利用Fragment Browser(片段浏览器)高效构建有机金属配合物的实战技巧。通过调用预置的Metal Templates和Ligands库,用户可以快速搭建如茂金属催化剂等复杂分子骨架,并利用对称性操作精确控制Meso与Rac构型。文章还涵盖了自定义片段库的创建与使用,能显著提升建模效率,适用于计算化学与材料模拟领域的研究者。

wine的专栏 936

LTspice进阶技巧-031.一键加密仿真模型:LTspice Encrypt Tool实战指南

本文详细介绍了LTspice Encrypt Tool的使用方法,帮助工程师一键加密LTspice仿真模型,保护知识产权。通过图形化界面简化操作流程,支持批量加密和兼容性处理,适用于电路设计中的模型保护需求。

weixin_28304023的博客 202

【HDU】5253 - 连接的管道(最小生成树)

点击打开题目 连接的管道 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2353    Accepted Submission(s): 834 Problem Description 老 Jack

wyg1997 1191

【乐企文件生成工程】添加数据库、SpringEvent事件支持

更新!1、乐企版式文件生成工程添加数据库支持2、乐企版式文件生成工程添加事件机制,异步处理文件生成,提高系统并发能力。

九七的博客 336

【HDU 5253 连接的管道】

连接的管道Problem Description 老 Jack 有一片农田,以往几年都是靠天吃饭的。但是今年老天格外的不开眼,大旱。所以老 Jack 决定用管道将他的所有相邻的农田全部都串联起来,这样他就可以从远处引水过来进行灌溉了。当老 Jack 买完所有铺设在每块农田内部的管道的时候,老 Jack 遇到了新的难题,因为每一块农田的地势高度都不同,所以要想将两块农田的管道链接,老 Jack 就需

楚江枫 558

【AI智能体】Dify 搭建个人专属简历美化助手操作详解

Dify 搭建个人专属简历诊断助手实战操作详解

congge 4380

C++软件异常分析概述

本文将详细讲述Windows系统中软件异常的分类以及常用的排查方法,给大家提供一个借鉴与参考。

dvlinker的技术专栏 4万+

hdu 5253 连接的管道

题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5253 连接的管道 Description 老 Jack 有一片农田,以往几年都是靠天吃饭的。但是今年老天格外的不开眼,大旱。所以老 Jack 决定用管道将他的所有相邻的农田全部都串联起来,这样他就可以从远处引水过来进行灌溉了。当老 Jack 买完所有铺设在每块农田内部的管道的时候...

dong12276的博客 98

解决此平台不支持虚拟化的 Intel VT-x/EPT故障问题

当我们在VMware Workstation虚拟机上【启用】虚拟系统(如:Windows10)所在的虚【拟机设置】【处理器】【虚拟化引擎】下面的【虚拟化 Intel VT-x/EPT 或AMD-V/RVI(V)】内容后,在启动虚拟系统时,虚拟系统无法启动,且弹出【此平台不支持虚拟化的 Intel VT-x/EPT。不使用虚拟化的 Intel VT-x/EPT,是否继续】窗口

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1万+

hdu 5253连接的管道

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5253 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int maxn =1010; int fa[5000005]; int maze[maxn][...

i_like1ac的博客 191

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU - 5253 连接的管道

最小生成树的入门题: 最小生成树有两个算法,一个是prim算法,一个是krusal算法。最小生成树的前提是图是连通的。(算法详解,等深度学习后再来补) 老 Jack 有一片农田,以往几年都是靠天吃饭的。但是今年老天格外的不开眼,大旱。所以老 Jack 决定用管道将他的所有相邻的农田全部都串联起来,这样他就可以从远处引水过来进行灌溉了。当老 Jack 买完所有铺设在每块农田内部的管道的时候,老 Ja...

i_like1ac的博客 212

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

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

hdu 5253 连接的管道(kruskal)

hdu 5253 连接的管道(kruskal)(2015年百度之星程序设计大赛 - 初赛(2)) Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 5253 Description 老 Jack 有

珞 378

HDU 5253:连接的管道

最小生成树模板题 AC代码: #include #include #include #include using namespace std; const int maxn = 2*1e6; int Map[1000][1000]; int father[100005]; int N,M,cnt; int dir[2][2] = {{1,0},{0,1}}; //向下,向右

温姑娘的博客 445

HDU - 5253——连接的管道

连接的管道 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4256    Accepted Submission(s): 1341 Problem Description 老 Jack 有一片农田,以往几年都是靠

lose__way的博客 299

[HDU - 5253]连接的管道

克鲁斯卡尔(最小生成树) #include <stdio.h> #include <math.h> #include <iostream> #include <algorithm> #include <math.h> #include <stdlib.h> #include <string.h...

dlpnyd1317的博客 173

HDU - 5253 - 连接的管道

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5253题目描述Description老 Jack 有一片农田,以往几年都是靠天吃饭的。但是今年老天格外的不开眼,大旱。所以老 Jack 决定用管道将他的所有相邻的农田全部都串联起来,这样他就可以从远处引水过来进行灌溉了。当老 Jack 买完所有铺设在每块农田内部的管道的时候,老 Jack 遇到了新的难题,

无知而狂妄 389
上一篇: HDU 5285 wyh2000 and pupil
下一篇: HDU 1864 最大报销额
丶阿明
博客等级 码龄12年 70粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值