__youzimo2014__ @ 2024-08-07 17:07:34
priority_queue
是大顶堆,但是它认小于号,所以比较函数得反着写。pair
比较方法是先比 first
再比 second
。如果你不想把比较函数反着写(或者你用的是 pair
),可以试试 priority_queue<nod, vector<nod>, greater<nod>>
。
by __youzimo2014__ @ 2024-08-07 17:10:45
补充一下:由于 greater
是以大于号作基础的,所以需要重载大于号。
by flowercode @ 2024-08-10 14:56:54
插入的时候边权为x,改成-x就可以,访问得到的再改回正数。