警 示 后 人(或许我是最不细心的人了

P1462 通往奥格瑞玛的道路

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照样过了


|