首页 > 其他分享 >3244. 新增道路查询后的最短距离 II

3244. 新增道路查询后的最短距离 II

时间:2024-08-08 21:30:05浏览次数:11  
标签:int 3244 II fa 短距离 now finds

原题链接

题解

建桥相当于把区间内的路合并起来,这引导我们用并查集维护

可是具体如何实现呢?

我们令桥内的所有节点的统一指向最右端点作为首领,然后对于桥内的所有小,每次更新完了之后往右边走一格

code

class Solution {
public:

    int fa[2000005];
    int finds(int now){return fa[now]==now?now:fa[now]=finds(fa[now]);}
    vector<int> shortestDistanceAfterQueries(int n, vector<vector<int>>& queries) {
        for(int i=0;i<=n;i++)fa[i]=i;

        vector<int>rec;    
        int ans=n-1;
        for(auto it:queries)
        {
            int l=it[0],r=it[1];
           // printf("l:%d  r:%d\n",l,r);
            for(int i=finds(l+1);i<finds(r);i=finds(i+1))
            {
                int fx=finds(i);
                //printf("fr:%d  fx:%d\n",finds(r),fx);
                if(fx != finds(r)) {
                    fa[fx] = finds(r);
                    ans--;
                }

            }
           // for(int i=1;i<n;i++) printf("i:%d  fai:%d\n",i,finds(i));
            //puts("");
            rec.push_back(ans);
        }
        return rec;
    }
};

标签:int,3244,II,fa,短距离,now,finds
From: https://www.cnblogs.com/pure4knowledge/p/18349769

相关文章

  • 图片表格内容识别转换-II - 华为机试真题题解(Java)
    考试平台:时习知分值:200分考试时间:两小时(共2题)题目描述华为云推出了“通用表格识别”服务,可以将图片表格转换成文本数据。请你将文本数据进一步转换为“文本型表格”,如下图所示:输入现给出一个图片表格的文本数据:每行数据形如line3col1A,表示第3行第1列的单......
  • STM32之IIC协议
    物理层 1.从机数量选择地址限制:IIC协议本身没有严格规定总线上device最大数目,从理论上看,IIC能挂的device数目取决于能表示的最大地址空间,在7位地址模式下,减去0x00地址不可用,理论上可以挂2^7-1=127个设备。总线电容限制:由于器件的管脚都是有输入电容的,PCB上......
  • UnicodeEncodeError:“ascii”编解码器无法对位置 20 中的字符 u'\xa0' 进行编码:序号
    我在处理从不同网页(在不同站点上)获取的文本中的unicode字符时遇到问题。我正在使用BeautifulSoup。问题是错误并不总是可重现的;它有时适用于某些页面,有时,它会因抛出UnicodeEncodeError而呕吐。我已经尝试了几乎所有我能想到的方法,但我还没有找到任何可以一致工作......
  • 嵌入式实时操作系统(RT-Thread、FreeRTOS、UCOSIII)
    实时操作系统(RT-Thread、FreeRTOS、UCOSIII)文章目录`实时操作系统(RT-Thread、FreeRTOS、UCOSIII)``专有名词概念``1、什么是嵌入式``嵌入式系统的特点``2、什么是实时``3、什么是操作系统``操作系统主要功能和特性``常见的操作系统类型包括``4、嵌入式实时操作系统``关......
  • python joblib.load 发生错误:协议 0 中的持久 ID 必须是 ASCII 字符串 在 GCP 云运行
    总体而言:我尝试使用Cloudbuild和Cloudrun构建BERT模型。我将模型(参数)和元数据(标签)保存在GCPCloudStorage中。但是,我遇到了通过joblib.load()加载metadata.bin文件的错误。我的metadata.bin文件包含UTF-8字符,但joblib.load需要ASCII字符。在......
  • (nice!!!)LeetCode 3130. 找出所有稳定的二进制数组 II(动态规划dp)
    题目:3130.找出所有稳定的二进制数组II思路:大佬的思路classSolution{public:intmod=1e9+7;typedeflonglongLL;LLsta[1010][1010][2];//当前还有i个0、j个1时,第i+j的位置放置u,可以组成的合法数目LLdfs(inti,intj,intu,intlimit)......
  • 反转字符串II(541)
    题目描述给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余字符保持原样。解题思路如果按照我们暴力解法的话我......
  • Python 中的排序与 ASCII 编码解析
    1.引言    不知道你有没有想过用Python进行一些排序的工作,对于一些数量比较小的数字集合(例如:1、15、32、79、6、55)我们可以迅速发现最大的79和最小的1,但当这个数量非常大的时候,我们找大小就很费劲了,而这种繁琐的工作就应该派计算机出马了2.比大小  a.常规数字比......
  • 代码随想录day 48 每日温度 | 下一个更大元素 I | 下一个更大元素II
    每日温度每日温度解题思路单调栈的意思其实是指栈内的元素单调递增/递减,我们可以通过这个特性存储元素的下标,然后每次入栈时与栈顶坐标的元素进行比较,如果小于等于就不需要弹出直接存入,如果大于,则需要不断弹出栈顶直到遇到一个小于其的栈顶元素或者栈为空。知识点单调栈心......
  • 关于武汉芯景科技有限公司的带中断及复位功能2选1IIC主选择芯片XJ9541开发指南(兼容PC
    一、芯片引脚介绍1.芯片引脚2.引脚描述二、典型应用电路三、功能描述1.Register02.Register13.Register2四、程序代码    此处只展示master0的代码,master1也可以直接套用此代码XJ9541master0.CPP#include"Arduino.h"#include<Wire.h>#inclu......