警 示 后 人(或许我是最不细心的人了
查看原帖
警 示 后 人(或许我是最不细心的人了
235786
Alone0213楼主2022/10/2 22:02

卡了两节晚自习... 1.双向边开双倍空间 2.血量为0也能到家 3.每条边最大1e9,总和要long long(#4) 4.二分时注意写法

while(l<r){
	mid=(l+r)>>1;
	bool whe=dijkstra(mid);
	if(whe){
		r=mid;
	}else{
		l=mid+1;
	}
}

尽管按照题解第二篇的写法也能过,但那样写不合题意,因为mid在合法状态下,也可能是答案 (以下是错误示范:

while(l<=r){
	mid=(l+r)>>1;
	bool whe=dijkstra(mid);
	if(whe){
		r=mid-1;
	}else{
		l=mid+1;
	}
	
2022/10/2 22:02
加载中...