警示后人/如果你hack全都ac了但是wa 20pts
查看原帖
警示后人/如果你hack全都ac了但是wa 20pts
912241
dream_on_screen楼主2024/10/3 21:03

如果你用的dij求最短路,而且用了类似priority_queue<node>的优先队列的话node的重载运算符里面符号要和实际的重载函数名相反,大概应该是这样子

struct node
{
	int id,value;
	bool operator <(node other) const
	{
      //虽然是在重载小于号但是在比较的时候要用大于号比较
      //因为priority_queue默认是大根堆
      //可能也只有我已经到了这个阶段还会犯这样低级的错误了吧
		return value>other.value;
	}
};
...
priority_queue<node> q;

附赠一组hack数据:

input:
1
6 6 10 998244353
1 2 4
2 5 3
1 3 6
3 4 5
4 6 2
5 4 0
output:
2
2024/10/3 21:03
加载中...