數據結構——不相交集(并查集)

目的:解決等價問題。

表示方法:森林,底層實現用數組

主要操作:find()、union()

優化手段:

①find()時路徑壓縮

②union()時按規模合并、按樹高合并(依據情況而定)

Java實現:

class DisjointSet {int father[];DisjointSet(){}DisjointSet(int n) {this.father = new int[n];for (int i = 0; i < n; i++)father[i] = i;}int find(int x) {if (x != father[x])father[x] = find(father[x]); // 回溯、壓縮路徑return father[x];}void union(int x, int y) {x = find(x);y = find(y);if (x == y)return;if (x < y) {if (father[y] == y)father[x] = father[x] == x ? -2 : father[x] - 1;elsefather[x] += father[y];father[y] = x;} else {if (father[x] == x)father[y] = father[y] == y ? -2 : father[y] - 1;elsefather[y] += father[x];father[x] = y;}}
}

?解決問題:迷宮生成問題、樹節點的最近祖先、連通回路等

轉載于:https://www.cnblogs.com/tonyluis/p/5700993.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286881.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286881.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286881.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android之抓取adb logcat全日志后怎么過濾掉只包含當前app進程的日志(一般抓啟動app奔潰日志)

1 、問題 有時候我們啟動APP的時候&#xff0c;APP奔潰&#xff0c;在android studio里面日志可能沖掉&#xff0c;或者是云平臺的手機安裝的app&#xff0c;根本就沒有android stduio&#xff0c;那我們用什么辦法快速知道啟動奔潰日志呢&#xff1f; 2、解決辦法 我們先需要…

一個基礎的 HTML 文檔有哪些標簽?(3)

作者簡介 作者名&#xff1a;1_bit 簡介&#xff1a;CSDN博客專家&#xff0c;2020年博客之星TOP5&#xff0c;藍橋簽約作者。15-16年曾在網上直播&#xff0c;帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息&#xff0c;迷茫的你會找到答案。 目錄 HTML基…

考研:中國科學院地理所歷年GIS研究生入學考試真題匯總

中科院地理所1997年GIS研究生入學試題 一、名詞解釋 1.拓撲關系 2.緩沖分析 3.關系數據模型 4.空間疊加 二、簡答題 1、GIS的主要功能略 2、企業GIS系統的特色 三、問答題(選2) 1、GIS基本組成與主要應用領域 2、地理科學數據集成與管…

能上架App的GooglePlay開發者賬號獲取流程

googleplay 開發者賬號申請流程 接到公司號召&#xff0c;要讓我們的app走向世界&#xff0c;上架GooglePlay&#xff0c;都說天朝的Android 程序員是折翼的天使&#xff0c;猛然發現寫了做么多年的Android&#xff0c;竟然不知道怎么成為GooglePlay開發者。 以前嘗試過&#x…

如何讓 ASP.NET Core 支持綁定查詢字符串中的數組(2)

前言上回說到&#xff0c;我們實現了IntArrayModelBinder&#xff0c;可以讓 ASP.NET Core 綁定查詢字符串中的數組。但是必須顯示指定ModelBinder&#xff1a;public string Get([FromQuery][ModelBinder(BinderType typeof(IntArrayModelBinder))] int[] values)而官方提供的…

hdu 3530 Subsequence

/* 開始以為是二分...后來發現丫不單調... */ #include<iostream> #include<cstdio> #include<cstring> #define maxn 1000010 using namespace std; int n,l,r,ans,tmin[maxn],tmax[maxn],a[maxn]; int qmin[maxn],qmax[maxn],headmin,tailmin,headmax,tai…

FirstLetterUtil

package cn.edu.hbcf.common.utils;public class FirstLetterUtil {private static int BEGIN 45217;private static int END 63486;// 按照聲母表示&#xff0c;這個表是在GB2312中的出現的第一個漢字&#xff0c;也就是說“啊”是代表首字母a的第一個漢字。// i, u, v都不做…

淘寶網的技術發展史(三)——分布式時代

本文是《淘寶網的技術發展史》系列連載文的第三篇。在系統發展的過程中&#xff0c;架構師的眼光至關重要&#xff0c;作為程序員&#xff0c;把功能實現即可&#xff1b;但作為架構師&#xff0c;要考慮系統的擴展性、復用性&#xff0c;這種敏銳的感覺&#xff0c;有人說是一…

Flutter提示之Navigator operation requested with a context that does not include a Navigator.

1 、問題 用Flutter寫了頁面跳轉&#xff0c;提示錯誤如下 Navigator operation requested with a context that does not include a Navigator. 2 、我的代碼 void main() {runApp(MyApp1()); }class MyApp1 extends StatelessWidget {overrideWidget build(BuildContext c…

《地理信息系統概論》課后習題全部答案_黃杏元

第一章 地理信息系統導論 1、什么是地理信息系統(GIS)?它與一般計算機應用系統有哪些異同點? 答:地理信息系統:是由計算機硬件、軟件和不同的方法組成的系統,該系統設計支持空間數據的采集、管理、處理、分析、建模和顯示,以便解決復雜的規劃和管理問題。 GIS脫胎于…

你知道出現“亂碼”的原因是什么嗎?(4)

作者簡介 作者名&#xff1a;1_bit 簡介&#xff1a;CSDN博客專家&#xff0c;2020年博客之星TOP5&#xff0c;藍橋簽約作者。15-16年曾在網上直播&#xff0c;帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息&#xff0c;迷茫的你會找到答案。 目錄 HTML基…

Android應用程序線程消息循環模型分析(4)

接下來我們再看看應用程序的配置文件AndroidManifest.xml&#xff1a;<?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android" package"shy.luo.counter" andr…

【SignalR全套系列】之在.Net Core 中實現Server-Send Events消息推送

微信公眾號&#xff1a;趣編程ACE關注可了解更多的.NET日常開發技巧&#xff0c;如需源碼 請公眾號留言 源碼;如果覺得本公眾號對你有幫助&#xff0c;歡迎關注【SignalR全套系列】之在.Net Core 中實現Server-Send Events消息推送1.前文鏈接&#xff1a;【SignalR全套系列】之…

GIS專業核心課程電子教材配套實驗數據匯總(持續更新)

本文整合了GIS專業核心課程電子pdf教材,包括地理信息系統、地圖學、遙感、攝影測量、遙感數字圖像處理、工程測量、施工測量、GPS、數字測圖、空間數據庫、程序設計等,持續更新。 一、ArcGIS10實驗教程(配套實驗數據) 二、地理信息系統

Android數據手冊:Android顏色碼制表

在Android應用開發中經常要用各種控件&#xff0c;并為控件設置其背景顏色&#xff0c;使用各種不同的顏色為控件著色是很有必要的。 在Android系統中&#xff0c;各種顏色與其對應的碼制如下所示&#xff1a; <resources> <color name"white">#ffffff…

Android之提示MIME type application/octet-stream cannot be inserted into **/images expected

1、問題 在三星手機(Androd10.0)我需要把圖片插入系統圖庫,錯誤提示如下 AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appsinnova.android.keepdrop/com.appsinnova.android.keepdrop.account.AboutActivity}: java.lang.Ille…

7月18日實習日志

今天的上午的工作和昨天一樣&#xff0c;上午轉發了三十篇&#xff0c;基本上沒有遇到什么問題。下午還是轉載視頻和發稿。 轉載于:https://www.cnblogs.com/a1107/p/5706351.html

短網址服務設計

短網址服務設計 背景 短網址服務&#xff0c;用來將輸入的一個長網址轉換為一個短網址&#xff08;比如附錄中的案例&#xff09;&#xff0c;當用戶請求這個短網址時&#xff0c;服務查詢出真實的url; 設計這么一個短網址服務&#xff0c;需要考慮哪些點&#xff1f; 數據結構…

我抓到bit哥了,嘿嘿嘿(5)

作者簡介 作者名&#xff1a;1_bit 簡介&#xff1a;CSDN博客專家&#xff0c;2020年博客之星TOP5&#xff0c;藍橋簽約作者。15-16年曾在網上直播&#xff0c;帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息&#xff0c;迷茫的你會找到答案。 目錄 HTML基…

遙感、地理空間數據、全國基礎數據下載網站大全匯總

本文收集整理了國內外常用的遙感、GNSS、地理空間數據下載網站,可以下載各種格式的矢量、柵格等數據,主要包括遙感影像、NDVI、太陽輻射、數字高程模型等各種地理空間數據,供GISer學習交流使用。 1. 地理空間數據云 該網站為國內學者使用最多的、數據下載方便的網站,可以…