为啥大家都写两个 log 的线段树优化建边啊,神秘,这 1log 做法好想又好写捏。
首先显然是可以把边看成点的,这样会变成 \(O(m)\) 个点和 \(O(m^2)\) 条边,寄。
但是还没有完全寄掉,我们发现,对于原图的每个点,对于第一个跑到这个点的边暴力转移,剩下的边转移只有一个子树,否则会被第一个点包含掉,这样就可以用堆+链表维护这个最短路了,时间复杂度 \(O(m\log m)\),但是因为我很懒所以链表写了 set。
标签:链表,log,luogu,P3783,黑客,SDOI2017 From: https://www.cnblogs.com/275307894a/p/17881826.html