余鼎力:堆的可持久化.pdf
求包含根节点的第k小连通块的权值,连通块的权值定义为连通块中包含的所有边的权值之和。 使用A* 算法(估价函数为0),维护一个优先队列,优先队列中储存连通块的权值,上一次选的边权和当前连通块周围的可选边集合构成的可并堆,每种状态有如下两种扩展方式: (1)删除上一次选的边,并选一条当前可选边中权值最小的边。 (2)将上一次选的边的所有出边所构成的可并堆与当前处理状态中的可并堆合并,并从中选出一条权值最小的边,将这条边从可并堆中删除,同时上一条边将不再允许删除。 这种方式保证方案不重复不遗漏,并且每种被扩展完毕的状态,都是一种合法状态,这样保证了算法的时间复杂度。(出队K次即可,每次均为log级
下载地址
用户评论