水池改造题解
正难则反,在没有强制在线的情况下,我们可以先把t次改造后的水池求出来,然后倒序处理改造的过程,问题就变成了每次去掉一些陆地,求水域个数,这个用并查集就可以维护了。
但是问题依旧是存在的,就是我们需要预先知道所有陆地第一次变成陆地是在哪一次改造之后,可以用二维数据结构把问题变成O(tlog^nlog^m),但这不是主要考点,所以可以暴力地更新,复杂度是O(tn)。
并查集的话,单纯的并查集肯定是不行的,加路径压缩就行了。
正难则反,在没有强制在线的情况下,我们可以先把t次改造后的水池求出来,然后倒序处理改造的过程,问题就变成了每次去掉一些陆地,求水域个数,这个用并查集就可以维护了。
但是问题依旧是存在的,就是我们需要预先知道所有陆地第一次变成陆地是在哪一次改造之后,可以用二维数据结构把问题变成O(tlog^nlog^m),但这不是主要考点,所以可以暴力地更新,复杂度是O(tn)。
并查集的话,单纯的并查集肯定是不行的,加路径压缩就行了。
相关推荐