题解:P9067 [Ynoi Easy Round 2022] 虚空处刑 TEST_105
将每个极大连通块信息全都记在最浅的那个点上,维护这个连通块的下面连着的点的颜色信息,而不记录父亲信息。维护每种颜色的链表,合并时启发式合并,由于颜色范围很大你需要用个 map 维护每种颜色对应的链表,这样复杂度就是 unordered_map,不过常数不一定小。
换一个维护方式,map 本质是平衡树。对于下面连着的点维护
启发式合并用 finger search 就是
将每个极大连通块信息全都记在最浅的那个点上,维护这个连通块的下面连着的点的颜色信息,而不记录父亲信息。维护每种颜色的链表,合并时启发式合并,由于颜色范围很大你需要用个 map 维护每种颜色对应的链表,这样复杂度就是 unordered_map,不过常数不一定小。
换一个维护方式,map 本质是平衡树。对于下面连着的点维护
启发式合并用 finger search 就是