Alone0213 @ 2022-10-02 22:02:58
卡了两节晚自习... 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;
}
by Alber_love_Weinstein @ 2022-10-02 22:44:04
所以可以出hack把第二篇题解叉掉了(?
by return_CE @ 2022-10-04 16:02:02
@Alber_love_Weinstein 那篇应该就是有问题
by FJ_OIer @ 2022-10-27 13:42:17
@Alone0213 不需要啊,我没开long long照样过了