2024.9.16 上午 總結(考 DS)

huangkxQwQ發表於2024-09-16

T1

我的做法:

  • 合併 -> 並查集。類似建 Kruskal 重構樹。詢問跑 LCA。

  • 注意並查集合並要把兩個根都變成一個新點的兒子,而不是把一個作為另一個的兒子。(可能類似建 [邊](?) Kruskal 重構樹)

  • 要特判詢問時 \(x = y\) 的情況(好像是輸出 \(0\))。

lzh 的做法:

  • 連出一棵樹,邊的邊權是 它是第幾條邊。每次詢問問的是一條鏈上的 \(\max\)。用樹剖做。

  • 其實也可以建這棵樹的 Kruskal 重構樹([邊](?))來做。這個重構樹好像就是我的做法裡建出來的樹。

xwb 的做法:

對操作(加邊)分塊(塊長是根號)。

記一下[每個塊結尾處](???)的 fa 陣列(前面的邊都加上時)。透過這個找每個詢問的答案是在哪個塊裡的。

對每個塊裡的詢問一起處理。在每個塊裡暴力走,每走一步暴力對這個塊裡的所有詢問判是否可行即可。

題解的

咕咕咕。

相關文章