hdu 3635 Dragon Balls(带权并查集)

【HDU】3635 Dragon Balls (带权并查集 一) 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3635 【问题描述】 有标号为1到n的n个龙珠,分别放在对应标号为1到n的n个城市里。 下面有两种操作: T A B表示把A龙珠所在城市的所有龙珠都转移到B龙珠所在的城市中 Q A 表示查询A,需要知道A龙珠现在所在的城市,A所在的城市有几颗龙珠,A转移到这个城市移动了多少次,分别输出3个整数... 阅读详情

Dragon Balls

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=3635

解题思路:

题目大意:

初始时,有n个龙珠,编号从1到n,分别对应的放在编号从1到n的城市中。
给你2种操作:
T A B,表示把A球所在城市全部的龙珠全部转移到B城市。(第一次时,因为A球所在的城市只有一个球,所以只移动1个,如果有多个,则全部移动)。
Q A,表示查询A。输出信息。信息分别为:A现在所在的城市,A所在城市的龙珠数目,A转移到该城市移动的次数(如果没有移动就输出0)。

算法思想:

并查集操作即可,处理好子节点与父亲结点的关系就行了。。。

AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

const int maxn = 10005;
int pa[maxn],num[maxn],t[maxn];

int findset(int x){
    if(x == pa[x])
        return x;
    int p = pa[x];
    pa[x] = findset(pa[x]);
    t[x] += t[p];
    return pa[x];
}

int main(){
    int T,tt = 1;
    scanf("%d",&T);
    while(T--){
        int n,m;
        scanf("%d%d",&n,&m);
        for(int i = 1; i <= n; i++){
            pa[i] = i;
            num[i] = 1;
            t[i] = 0;
        }
        char op;
        int x,y;
        printf("Case %d:\n",tt++);
        for(int i = 0; i < m; i++){
            getchar();
            scanf("%c",&op);
            if(op == 'T'){
                scanf("%d%d",&x,&y);
                x = findset(x);
                y = findset(y);
                if(x != y){
                    pa[x] = y;
                    num[y] += num[x];
                    t[x]++;
                }
            }
            else{
                scanf("%d",&x);
                y = findset(x);
                printf("%d %d %d\n",y,num[y],t[x]);
            }
        }
    }
    return 0;
}


用SOLIDWORKS从零画一个履带机器人,手把手教你搞定底盘和传动 本文详细介绍了如何使用SOLIDWORKS从零开始设计履带式机器人,重点讲解底盘结构优化和传动系统设计的关键步骤。通过七个阶段的实战指南,包括前期规划、底盘建模、驱动系统装配、履带生成、动态模拟等,帮助工程师和爱好者掌握履带机器人的核心设计技巧,提升地形适应能力和动力效率。 阅读详情

相关推荐

Seedance2.5本地部署指南:从环境配置到生产优化的完整实践

在 AI 内容生成领域,本地部署方案正逐渐成为开发者和技术团队关注的焦点。Seedance2.5 作为一款支持图像和视频生成的 AI 工具,其完全离线运行的能力解决了云端服务在数据隐私、使用成本和访问稳定性方面的痛点。对于需要处理敏感内容、频繁生成素材或希望完全掌控生成流程的技术人员来说,掌握本地部署方法具有实际价值。 本文将以 Seedance2.5 的本地部署为例,详细介绍从环境准备、依赖配置到运行验证的完整流程,同时深入分析关键参数配置、常见问题排查方法以及生产环境下的优化建议。通过实际部署过程,理解

weixin_33139275的博客 726

HDU-3635 Dragon Balls

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3635 题目大意: 初始时,有n个龙珠,编号从1到n,分别对应的放在编号从1到n的城市中。 现在又2种操作: T A B,表示把A球所在城市全部的龙珠全部转移到B城市。(第一次时,因为A球所在的城市只有一个球,所以只移动1个,如果有多个,则全部移动)。 Q A,表示查询A。要求得到的信息分...

datoplay 285

Matlab2021a破解版安装与激活实战教程(含详细步骤截图)

本文详细介绍了MATLAB R2021a的正版安装流程与核心功能优化,包括系统要求、安装步骤、性能调优及深度学习工具箱的应用。通过实战教程和代码示例,帮助用户高效搭建开发环境并掌握关键技术,特别适合工程计算与科学研究的专业人士。

vvv99的博客 457

HDU 3635 Dragon Balls 七龙珠 Union Find算法

孙悟空要寻找七龙珠,这回是七龙珠的增强版了,因为这些龙珠会衍生,最后不止七颗龙珠了。 悟空带着布玛的龙珠雷达探测器出发了,却发现布玛的龙珠雷达探测器的程序太垃圾了,所以找到我们这些ACM高手为龙珠雷达探测器写个程序,要求可以显示某颗龙珠所在的城市的位置,该龙珠所在的城市共有多少颗龙珠,龙珠移动过的次数。 布玛是个有钱人啊,写个程序我要价5百万,不算过分吧。因为本程序需要用到Union Find

靖空间 1515

Java 开发打飞机小游戏(附完整源码)

上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习。java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐。代码写的很简单,也很容易理解,并且注释写的很清楚了,还有问题,自己私下去补课学习。 完整代码 敌飞机 import java.util.Random; 敌飞机: 是飞行物,也是敌人 public class Airplane extends FlyingObject implements Enemy {

一只独孤的程序猿 1万+

java modbus通讯协议_Modbus通 讯 协 议

电磁流量计Modbus通 讯 协 议(版本号:9000-K V9.1.1)2020年01月01日通讯协议针对KFD电磁流量计工业应用设计,版本:9000-K V9.1.1,该版本主要用于实时数据采集、流量测量、流量累计控制及部分参数的修改。一、主机系统通讯部件要求1.国际标准RS-485通讯接口部件,不小于11Bytes 的通信缓冲区(FIFO),支持1200、2400、4800、96...

weixin_39956612的博客 1010

HDU 3635 Dragon Balls(并查集)

Dragon Balls Time Limit : 2000/1000ms (Java/Other)Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 64Accepted Submission(s) : 26 Font:Times New Roman|Verdana|Georgia Font ...

weixin_30783629的博客 263

从BIOS到路由器:深入拆解SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)奥秘

本文深入解析SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)技术,从BIOS到路由器的应用场景出发,详细介绍了其架构精髓、典型连接方案、时序设计及性能优化方法。通过实际案例和参数对比,帮助开发者掌握NOR Flash在嵌入式系统中的关键作用与设计技巧,提升电路设计效率与可靠性。

weixin_30522183的博客 491

N - Dragon Balls(并查集+深度的意义

有标号为1到n的n个龙珠,分别放在对应标号为1到n的n个城市里。 下面有两种操作: T A B表示把A龙珠所在城市的所有龙珠都转移到B龙珠所在的城市中 Q A 表示查询A,需要知道A龙珠现在所在的城市,A所在的城市有几颗龙珠,A转移到这个城市移动了多少次,分别输出3个整数,表示上述信息。 前两个用普通并查集就能算出来,移动次数不好维护; 如果我们不进行路径压缩,那么查...

weixin_30216561的博客 156

7.6 GPU页表更新机制

本文分析了AMDGPU驱动中BO到VA映射的页表更新实现机制。核心流程通过amdgpu_vm_bo_update()函数触发,支持CPU直接写入和SDMA异步命令两种更新模式。系统根据VRAM可见性自动选择最优更新策略,处理三种主要场景:命令提交、BO迁移和BO销毁。关键实现包括DMA地址数组处理、权限标志合并和BO迁移状态转换,最终通过amdgpu_vm_update_range()完成硬件页表更新。该机制有效平衡了更新延迟与吞吐量,为GPU虚拟内存管理提供基础支撑。

图形/计算GPU的驱动与虚拟化技术分享园地 2463

【纯实战】C#基于TCP/IP实现三菱PLC MC协议完整通信(含完整源码+通信原理+避坑指南)

MC协议是三菱电机为旗下MELSEC系列PLC量身定制的以太网专用通信协议,本质是一套基于TCP/IP的应用层协议规范,专门用于实现上位机(PC/工控机)与PLC之间的双向数据交互,支持对PLC的软元件(X/Y/M/D/W/T/C等)进行读、写、批量读写等核心操作,同时支持PLC状态查询、程序启停等控制指令。重要:三菱PLC的MC协议默认基于TCP 4999端口通信,部分新版本FX5U/Q系列也支持TCP 5000端口,核心通信逻辑一致。

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

HDU-3635 -Dragon Balls【 带权并查集 】题解

目录1.题目2.题意3.思路4.代码 1.题目 Five hundred years later, the number of dragon balls will increase unexpectedly, so it’s too difficult for Monkey King(WuKong) to gather all of the dragon balls together. His country has N cities and there are exactly N dragon ball

林深不见鹿 的博客 482

云端办公文件存储与访问全攻略:选型、预算、实操一本通

随着远程办公、多设备协作成为常态,“文件云端存储、随时调用” 已成为提升办公效率的核心需求。本文从用户实际场景出发,系统拆解云端存储的选型逻辑、全场景费用预算,重点解答 “文件能否直接在线打开” 的核心疑问,并提供实操技巧与安全保障方案,覆盖个人、小团队(含兼职)、企业全维度需求,帮助不同规模用户快速搭建高效、低成本的云端办公体系。

hy行者勇哥的博客 1240

HDU 3635 Dragon Balls 带权并查集

还以为蛮高深的并查集呢,原来是个大水题, n个城市n个球,m个查询,T表示把和x号求同样城市的球转移到y号球所在的城市,Q表示询问x号球在哪个城市,该城市有多少个球,x号球转移了几次 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #in

Macan - 生活点滴 311

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

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HDU 3635 Dragon Balls(带权并查集)

题目地址:HDU 3635 加权并查集水题。 用num数组维护该城市有多少龙珠,用times数组维护每个龙珠运输了多少次。num数组在合并的时候维护。times数组由于每个都不一样,所以要在找根的时候递归来全部维护。 最终,x龙珠所在的城市就是x节点所在的根,x结点所在的跟的num数组值是该城市的龙珠数。times[x]为该龙珠运输了多少次。 代码如下: #include #inclu

scf0920 1141

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

带权并查集--hdu3635 Dragon Balls

The first line of the input is a single positive integer T(0 For each case, the first line contains two integers: N and Q (2 Each of the following Q lines contains either a fact or a question as t

unintended 271

计算机控制技术及应用

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

HDU3635 Dragon Balls 解题报告【带权并查集】

HDU 3635

中国计算机学会成都七中(高新校区)委员会委员活动室 383

hdu 3635 Dragon Balls (带权并查集)

题目:         链接:点击打开链接 题意:         把编号为1~n的龙珠放到编号为1~n的城市中去。现在有T和Q两种操作:         T:A B 把A龙珠所在城市的所有龙珠转移到B城市中。         Q:A 表示查询A龙珠的一些信息:X(A所在的城市),Y(A所在城市龙珠的数目),Z(A转移到该城市被移动的次数)。 思路:          代码: #

young TO challenge! 492

HDU 3635 Dragon Balls(带权并查集)

http://acm.hdu.edu.cn/showproblem.php?pid=3635 题意: 有n颗龙珠和n座城市,一开始第i颗龙珠就位于第i座城市,现在有2种操作,第一种操作是将x龙珠所在城市的所有龙珠移至y龙珠所在城市,第二种操作是计算x龙珠所在城市y,y城市龙珠个数,以及x龙珠移动的次数。 思路:num[x]用来维护x城市所包含的龙珠个数,cnt[x]维护x龙珠所移动的次...

weixin_30675967的博客 84

HDU3635 Dragon Balls【带权并查集 统计】

Dragon Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8372    Accepted Submission(s): 3088   Problem Description Five hundred years l...

逐梦者 267

hdu 3635 Dragon Balls 龙珠 带权并查集

每次移动都是一个群龙珠移动到另一群龙珠所在的城市里面。所以这两个城市之间都不会空。 用并查集表示,每一个祖先节点的序号和他们所在城市的序号相同。 无论路径如何压缩,子结点的移动次数=父节点的移动次数+1; Dragon Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768

便纵有千种风情 666

【HDU 3635】 Dragon balls (带权并查集,点维护)

传送门 题目大意:有n个龙蛋,分别坐落在n个城市。现在有m个操作。操作分为T,Q。对于T:给出x,y,把x所在的城市中的蛋全部移到y所在城市去。对于Q:给出x,我们需要输出x所在的城市的编号,以及这个城市中的龙蛋数量,还有x移动了的次数 Solution:只需维护三个值:所在城市,龙蛋数量,移动次数。我们用father[i]代表i所在城市编号,cnt[i]代表i城市的龙蛋数量,times...

Android66666的博客 232

hdu 3635 Dragon Balls 【基础带权并查集】

Dragon Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3461    Accepted Submission(s): 1348 Problem Description Five hundred year

letterwuyu的专栏 884

hdu 3635 Dragon Balls 带权并查集

点击打开链接题目链接 Dragon Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2982    Accepted Submission(s): 1157 Problem Description

。 454
上一篇: hdu 1217 Arbitrage(最短路)
下一篇: hdu 5391 Zball in Tina Town
yphacker
博客等级 码龄12年 199粉丝 540原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值