日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三点间LCA

發布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三点间LCA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

三點間LCA

?

1.直接上題——jzoj5883. 【NOIP2018模擬A組9.25】到不了

Dscription

wy 和 wjk 是好朋友。
今天他們在一起聊天,突然聊到了以前一起唱過的《到不了》。
“說到到不了,我給你講一個故事吧。”
“嗯?”
“從前,神和凡人相愛了,憤怒的神王把他們關進了一個迷宮里,迷宮是由許多棵有根樹組 成的。神王每次把兩個人扔進其中的某一棵有根樹里面,兩個相鄰節點的距離為 1,兩人的 每一步都只能從兒子走到父親,不能從父親走到兒子,他們約定,走到同一個節點相見,由 于在迷宮里面行走十分消耗體力,他們決定找出那個使得他們走的總路程最少的節點,他們 當然會算出那個節點了,可是神王有時候會把兩棵有根樹合并為一棵,這下就麻煩了。。。”
“唔。。。”
[已經了解樹,森林的相關概念的同學請跳過下面一段]
樹:由 n 個點,n-1 條邊組成的無向連通圖。
父親/兒子:把樹的邊距離定義為 1,root 是樹的根,對于一棵樹里面相鄰的兩個點 u,v,到 root 的距離近的那個點是父親,到 root 距離遠的那個點是兒子
森林:由若干棵樹組成的圖
[簡化版題目描述]
維護一個森林,支持連邊操作和查詢兩點 LCA 操作

Input

第一行一個整數 N,M,代表森林里的節點總數和有根樹的數目。
第二行 M 個整數,第 i 個整數 ri 代表第 i 棵有根樹的根是編號為 ri 的節點
接下來 N-M 行,每行兩個整數 u,v 表示 u 和 v 相鄰
接下來一行一個整數 Q,表示 Q 個事件發生了
接下來 Q 行,每行若干個整數,表示一個事件
如果第一個數 op=1,接下來兩個整數 u,v,代表神王把 u 號節點所在的樹和 v 號節點所在的樹 合并到一起(即 u 到 v 連了一條邊),新的根為原來 u 號節點所在的樹的根(如果 u,v 已經聯通, 忽略這個事件)。
如果第一個數 op=2,接下來兩個整數 u,v,代表一次詢問,當一個人在 u 號節點,一個人 在 v 號節點,詢問他們找到的那個節點的編號

Output

對于每一個詢問(op=2 的操作),輸出一行一個整數,代表節點編號,如果 u,v 不聯通,輸 出 orzorz。

Sample Input

【樣例 1】
2 2
1 2
2
1 1 2
2 1 2
【樣例 2】
2 2
1 2
2
1 2 1
2 1 2

Sample Output

【樣例 1】
1
【樣例 2】
2

Data Constraint

對于 30%的數據 1 ≤ N ≤ 1000 1 ≤ Q ≤ 1000
對于 100%的數據 1 ≤ N ≤ 100000 1 ≤ Q ≤ 100000

?

2.1Solution

顯然可以LCT吧,這里不再撰述。

?

2.2Solution

通過歸納證明我們發現:

這一問題其實就是在求三點間。

顯然三點間并不是依次后的結果。

?

  • 結論:
  • 證明:歸納證明易得(非要看證明請見這位學長的博客:詳細的歸納證明)。

所以此題就很容易地用并查集解決了。?

總結

以上是生活随笔為你收集整理的三点间LCA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。