HDU-1232 畅通工程

HDU 1232 畅通工程 并查集入门经典 OJ题解 HDU1232 畅通工程一、背景简介二、题目描述Problem DescriptionInputOutputSample InputSample Output三、题解思路四、AC代码完整代码其他参考 一、背景简介 此题为并查集的经典例题,入门水准。如果想学习这个数据结构,一定要好好学习这个基础,模版可以背下来。题目来源为HDU 1232,具体链接为:http://acm.hdu.edu.cn/showproblem.php?pid=1232。 二、题目描述 Problem Description 某省调查城 阅读详情

1、知识点:连通分量
2、思路:并查集

/*用途:
**说明:
**算法:并查集 
*/

//#define LOCAL
#include <cstdio>
#include <string.h>
using namespace std;
#define MAXN 1000+10
int N, M;
int pre[MAXN];
int block[MAXN];

int find(int x);
void uni(int x, int y);
int main()
{
#ifdef LOCAL
    freopen(".in", "r", stdin);
    freopen(".out", "w", stdout);
#endif

    while(scanf("%d", &N) && N){
        scanf("%d", &M);
        for(int i=1; i<=N; i++)
            pre[i] = i;

        for(int i=1; i<=M; i++){
            int a, b;
            scanf("%d%d", &a, &b);
            uni(a, b);
        }

        memset(block, 0, sizeof(block));
        for(int i=1; i<=N; i++)
            block[find(i)] = 1;

        int ans = 0;
        for(int i=1; i<=N; i++)
            if(block[i])
                ans++;

        printf("%d\n", ans-1);
    }

    return 0;
}

inline int find(int x)
{
    int top = x;
    while(top != pre[top])
        top = pre[top];

    int temp;                   //暂时保存x以前的上级结点 
    while(pre[x] != top){       //路径压缩 
        temp = pre[x];
        pre[x] = top;
        x = temp;
    }

    return top;
}

inline void uni(int x, int y)
{
    int fx, fy;
    fx = find(x);
    fy = find(y);
    if(fx != fy)
        pre[fx] = fy;
}
Simulink+Simscape多体仿真:六自由度Stewart平台动力学建模全流程 本文详细介绍了使用Simulink和Simscape Multibody进行六自由度Stewart平台动力学建模的全流程,涵盖从CAD模型导入、运动学逆解计算到实时控制系统的设计。通过MATLAB/Simulink与Simscape的协同工作,实现高保真度的并联机器人仿真,适用于飞行模拟器、精密加工等高精度领域。 阅读详情

相关推荐

医疗器械软件测试输出内容(1)

*单元测试(Unit Testing):**单元测试是软件测试的最底层,用于验证软件中最小的可测试单元——函数、方法或模块。系统测试是在集成测试之后进行的,它对整个系统进行测试,验证系统在不同部分集成在一起后是否满足需求和规格。: 集成测试是在单元测试之后进行的,它关注不同单元之间的交互和集成。对于不同安全级别的软件(IEC 62304 A类、B类、C类),在体系上要求输出的文件内容有所区别。**说明:**将集成测试和软件系统测试合并为一项单一的计划和一组活动是可接收的。

ct745363083的博客 1867

hdu 1232 畅通工程

hdu 1232 畅通工程题意题解源代码 传送门 题意 给定n个村子,和村子之间的道路,求连接所有的村子至少需要再修多少条道路 题解 互相连通的村子可以看成一个集合,一个点,现在需要求把这这些集合(点)连接起来 需要多少条线,由树的概念就可以看出来,边数等于点数-1,相当于求集合的数目, 可以用并查集解决 源代码 #include<cstdio> const int maxn = ...

antRain的博客 167

2024年上市公司ESG评级全解析:六大权威数据源横向对比与应用指南

本文深度解析2024年国内主流ESG评级数据源,包括华证、商道融绿、Wind、富时罗素和彭博,横向对比其覆盖范围、评分逻辑与应用侧重点。文章提供实战指南,帮助投资者与企业根据投资决策、风险管理和学术研究等不同场景,精准选择并有效应用ESG数据,实现从概念到实用分析工具的转变。

weixin_29229055的博客 312

hdu1232畅通工程

HDU1232畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < ...

小麦面包 480

H3C无线控制器二层注册实战:从零配置到AP上线全流程(附常见问题排查)

本文详细解析了H3C无线控制器二层注册的全流程,从网络基础准备、AC核心配置到AP上线,重点阐述了CAPWAP隧道建立的关键步骤。文章提供了清晰的典型配置示例,并针对AP无法上线、状态异常等常见问题,给出了六种典型故障现象的排查思路与解决命令,帮助网络工程师快速定位并解决问题。

weixin_29214199的博客 546

6.4 构网型储能的需求与配置

摘要: 构网型储能是新型电力系统的关键支撑技术,通过提供电压/频率形成、惯性和稳定控制能力,解决同步机退出导致的系统稳定性问题。其配置需遵循三大原则:1)容量配置以支撑需求为主导,兼顾能量服务;2)优先布局于电网薄弱点、稳定问题突出区域;3)采用自适应控制策略实现全工况优化。核心应用场景包括新能源送出通道稳定、负荷中心调频、黑启动电源等。规划方法需结合系统分析、量化指标和成本效益评估,实现技术经济最优。未来需重点关注构网/跟网混合系统的临界容量占比及自适应控制技术发展。

技术工作者 1140

《HDU 1232 - 畅通工程》的题解

《D - 畅通工程》的题解 题目的描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M...

weixin_46163391的博客 516

强化学习代码实现PPO

梯度更新:通过截断(clipping)限制策略更新幅度,避免策略变化过大影响稳定性。首先是数据预处理,将相关数据(状态、采取的动作、状态奖励、下一个状态)放到gpu上。根据当前状态 state,利用策略网络生成每个动作的概率分布 probs。2. 修改了策略模型的输出,从每个动作的概率分布变成了动作的均值和方差。1. 修改了动作空间,离散空间变成了连续空间,使用正太分布来采样。3. 修改了动作的ratio的计算,从离散分布变成了正太分布计算。Update函数:通过经验缓冲数据来优化策略模型和价值模型。

wlxsp的博客 635

hdu1232-畅通工程

畅通工程 我都不知道该怎么形容我最近的状态了,刷水题狂卡,这个题目也是一样,输入n,居然忘了排除n=0 // File Name: hdu1232.cpp // Author: rudolf // Created Time: 2013年04月25日 星期四 19时42分58秒 #include #include #include #include #include #includ

bo-jwolf的专栏 1044

005、开关电源中的基本拓扑结构简介

本文介绍了开关电源设计中常见拓扑结构的特性与选型经验。文章从实际炸机案例入手,强调深入理解拓扑的重要性,详细分析了Buck、Boost、Buck-Boost等非隔离拓扑以及反激、正激、半桥、全桥、LLC等隔离拓扑的工作原理、设计要点和典型误区,重点指出各拓扑的电压/电流应力、效率瓶颈和常见设计错误。作者根据多年经验总结出不同功率等级和输入输出条件下的拓扑选型原则,并强调细节设计对成败的决定性影响。文章通过大量工程实例说明,正确的拓扑选择和参数计算是电源设计成功的基础,而忽略基础原理将导致反复修改甚至炸机风险

Jack010169的博客 225

上位机1000条/秒数据不丢不卡:SQLite持久化队列最优方案实战

在上位机每秒1000条、1MB数据的场景下,SQLite做持久化队列是最优解可靠性拉满,ACID事务+WAL模式保证绝对不丢数据;性能完全够用,优化后每秒几千条没问题;轻量无依赖,只有一个.db文件;C#/.NET原生支持,代码简单易维护。只要按照上面的优化点和代码实现,完全能满足工业现场的需求,不用再担心数据丢失、存储卡采集的问题。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 484

HDU1232 畅通工程【并查集】

问题链接:HDU1232 畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?     Input 测试输入包含若干测试用例。...

aaaaawyf的博客 254

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

2020寒假集训专题三 HDU - 1232 畅通工程

HDU - 1232 畅通工程题解 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 专题链接:https://vjudge.net/contest/351234#problem/H 思路 题意要求出保证每个城镇“通路”的前提下的最小待建路数,我们只要将原本就存在的路尽可能地纳入我们的最终企划中,再用城镇数-1再减去纳入规划中的原有路数即可。...

bllovepigpig的博客 153

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【并查集】HDU 1232 畅通工程

HDU 1232 畅通工程 #include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <cmath> #include <cstring> #include <string> #include <v...

L_X_ 134

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

hdu 1232 畅通工程

hdu  1232  畅通工程                题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 并查集 题目分析:重点在这个水爆了的算法 code: #include #include int father[1010]; int _find(int a) { while(father[a]!=-1)a=father[a

slicer的技术交流栈 759

hdu 1232 畅通工程【并查集】【模板题】

hdu 1232 畅通工程  #include&lt;iostream&gt; #include&lt;string.h&gt; using namespace std; int pre[1005]; int find (int x) { int r=x; while(pre[r]!=r) r=pre[r]; int i=x; int j; while(i!=r) { ...

不甘 289

hdu 1232 畅通工程(并查集)

hdu 1232 畅通工程 http://acm.hdu.edu.cn/showproblem.php?pid=1232 ProblemDescription 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需...

diansitao5461的博客 77

hdu1232详解 畅通工程

题目链接:hdu1232畅通工程这一题是并查集的题,关键就是找出根结点的数目,下面附上详细的代码和注释讲解:(注释中  祖先=根节点)#include&lt;bits/stdc++.h&gt; int m,n,pre[1010],rank[1010];//pre数组存关系(pre[a]==b表示a的父亲是b),rank数组存树上有多少节点(rank[i]==j表示根节点为i的树上有j个节点) v...

Ruhe_king的博客 1357

畅通工程(HDU 1232)经典并查集

#include <bits/stdc++.h> using namespace std; const int N = 1005; int table[N]; int findt(int x){ if(table[x]==-1){ return x; } table[x]=findt(table[x]); return table[x]; } void merge(int a, int b){ int ta=findt(a); int tb=findt(b); if(t

征服所有不服的博客 162

HDU 1232 畅通工程 [并查集]

Description给N个城市,再给出M条关系,表示两者是否连通 问 再修几条路,使他们全部连通Algorithm并查集 并一下,看最后有几个集合,那个-1就是ansCodeimport java.util.Scanner;class UnionFind { int n; int[] par; int[] rank; UnionFind(int nn) { n = n

more time 535

HDU-1232.畅通工程(并查集)

HDU-1232.畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( &lt...

紫藤&code的博客 182

【并查集】HDU 1232 畅通工程

题目链接-&gt;http://acm.hdu.edu.cn/showproblem.php?pid=1232 HDU 1232   畅通工程                                                                                  畅通工程 Time Limit: 4000/2000 MS (Java/Others) ...

荷叶田田 428

hdu-1232-畅通工程

原文链接:hdu-1232-畅通工程原文:畅通工程Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 61539    Accepted Submission(s): 32963Problem Description某省调查城镇交通状况,得到现...

IT_xiaolaoshu的博客 392
上一篇: PAT-AL 1007. Maximum Subsequence Sum
下一篇: PAT-AL 1013. Battle Over Cities
EverydayIsLife
博客等级 码龄12年 9粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值