2018 German Collegiate Programming Contest (GCPC 18)

2018 German Collegiate Programming Contest (GCPC 18)

题目链接

M

题意

二维网格图,每个点有一个值,q 次询问从 $(x_1, y_1)$ 走到 $(x_2, y_2)$ 所经过的格子中值最大的要最小。

题解

并查集启发式合并。

  • 从小到大枚举高度,不断添加不大于当前高度的块,连通的块一定是互相可达而且当前枚举值一定可达。
  • 考虑可以合并的两个连通块。
    • 显然需要启发式的合并,即小的集合合并到大的上面。
    • 并对两个连通块所包含的询问进行回答,用一个 $set$ 维护。

转载于:https://www.cnblogs.com/Deadline/p/11459222.html

你可能感兴趣的:(数据结构与算法)