昨天和今天两天,重新看了数据结构的并查集和树状数组两部分。
并查集,可以用来动态维护许多具有互相导出的传递性的关系。很多具有传递性关系的题目都可以联想到并查集解决。此外,还要注意数据量,一般当给的约束条件变量x的范围很大时,几乎为10^9,我们首先要运用离散化将变量x的范围映射到与询问有关的数据范围内。
另外,边带权的并查集是利用了路径压缩来统计每个节点到树根之间的路径上的一些信息。这是并查集的很大应用。
像银河英雄传说以及Parity game 那两道题目,都是运用边带权的思想来解决的。
在做这类题目时,重要的是能够把题目转化为并查集中可以维护传递关系的样子,这是其难的地方。