首页 > TAG信息列表 > findRoot

1202. 交换字符串中的元素(并查集)

1202. 交换字符串中的元素 给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。 你可以 任意多次交换 在 pairs 中任意一对索引处的字符。 返回在经过若干次交换后,s 可以变成的按字典序最小的字

200. Number of Islands

https://leetcode-cn.com/problems/number-of-islands/ [bug] class Solution { char[][] grid; int w, h; int[][] dirs = {{-1,0}, {1,0}, {0,-1}, {0,1}}; Map<Integer, Integer> map = new HashMap<>(); public int numIslands(char[][

「图论」第1章 并查集课堂过关

文章目录 A. 【例题1】【模板】并查集题目代码 B. 【例题2】程序自动分析题目代码 C. 【例题3】银河英雄传说题目题目背景题目描述输入格式输出格式输入输出样例说明/提示思路最原始思路一次优化二次优化最终优化 代码二次优化最终优化 D. 【例题4】食物链题目题目描述输

【算法练习】leetcode每日一题/并查集 959由斜杠划分区域

959. 由斜杠划分区域 难度中等 在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。 (请注意,反斜杠字符是转义的,因此 \ 用 "\\" 表示。)。 返回区域的数目。   示例 1: 输入: [   " /",   "/ " ] 输出

kruskal

题目:https://pintia.cn/problem-sets/15/problems/718 #include<iostream> #include<algorithm> #include<vector> using namespace std ; struct mat{ int a,b,c; }; int father[1010] ; int N , M ; vector<mat> v ; bool cmp( mat a, mat b)

1102. 得分最高的路径

描述 给你一个 R 行 C 列的整数矩阵 A。矩阵上的路径从 [0,0] 开始,在 [R-1,C-1] 结束。 路径沿四个基本方向(上、下、左、右)展开,从一个已访问单元格移动到任一相邻的未访问单元格。 路径的得分是该路径上的 最小 值。例如,路径 8 → 4 → 5 → 9 的值为 4 。 找出所有路径中得分

排座位(并查集)

布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。 输入格式: 输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M

每日一题:畅通工程(要求成本最低) by python(19.9.16)

题目来自于:http://acm.hdu.edu.cn/showproblem.php?pid=1232 这道题考察的是并查集的内容 题目描述:     省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能

HDU - 1272 小希的迷宫 --并查集

题目链接:   http://acm.hdu.edu.cn/showproblem.php?pid=1272 题目思路:       小希希望只有一条路径相通,所有路径都是无向的。只要两个节点在并查集里是同一个父亲,说明它们已经存在路径。如果再次出现路径,就说明已经不符合要求。     要注意的是:必须保证迷宫是连通的。 代

LCT

如果是学习的话,可以看一下这篇博客 LCT有一点类似于树链剖分,只不过是实链和虚链,然后可以不断变化。每一条实链用一个splay(深度为关键字)维护,splay还原出来就应该是一条由浅到深的链。 Splay的根的father是原树中链顶的父节点。特别的,原树根所在的Splay根节点的father为空。 而且spla

部落冲突

题目链接 戳我 \(Solution\) 不详细讲了。说一下大致过程,毕竟很裸 对于开战:\(cut(p,q)\) 战争结束:\(link(p[x],q[x])\) 询问:用\(findroot(p)==findroot(q)\)判一下联通就好了 \(Code\) #include<bits/stdc++.h> #define rg register #define file(x) freopen(x".in","r",stdin);