听说这个东西有很多种写法什么的,来不及了(要退役了),先整一个之前用到的,可能用到的频率比较高的东西上来。
struct node{ ll x,y; }; bool operator < (const node& a,const node& b) { if(a.x<b.x) return true; else if(a.x==b.x&&a.y<b.y) return true; else return false; }
这种写法是当时要定义一个什么
map<node,int> vis;
然后$map$里面是红黑树(所以$map$也自带排序来着),这里结构体的小于号要重载,或者给优先队列定义一个比较法则,否则会$CE$。
由于$vis$只是一个标记数组,所以没有管排序是从小到大还是从大到小什么的。
原文地址:https://www.cnblogs.com/lyttt/p/11774402.html
时间: 2024-10-20 06:59:00