总看不懂别人题解结构体里面套的比较函数,就这两篇博客学习下运算符的重载:
优先队列内按照pair的第一键值进行降序排序。
struct cmp{ //优先队列重载
bool operator()(const pii p1, const pii p2){
return p1.first < p2.first;
}
};
priority_queue <pii, vector<pii>, cmp> qw;
优先队列对结构体某一键值进行降序排序。
struct node{
int first, second;
bool operator < ( const node& b)const{
return first < b.first;
}
};
priority_queue<node> q;