struct node { int l,r; bool operator <(const node &a)const{ return r < a.r; } }a[maxn];
使用sort时,如果这么定义节点,说明节点要按照从小到大排序(sort中默认从小到大排序);但是同样的代码,如果使用优先队列,这么写就说明节点要按照从大到小排序(优先队列默认从大到小排列,大根堆)。
其中,裸r表示当前的值。
所以如果想在优先队列中定义小根堆,可以这么写:
struct node { int l,r; bool operator <(const node &a)const { return r>a.r; } }; priority_queue<node> q;
标签:node,const,队列,bool,operator,节点 From: https://www.cnblogs.com/Jocelynn/p/17367128.html