我個人的做法是做兩次bfs
第一次找 可以到終點的最小高度差
第二次找 bfs時 只要判斷兩點高度差是不是小於等於第一次找到的值 就可以了~
複雜度:O(2*n*n)
二分搜做法
二分搜最小高度差 並且做bfs 找到最小的高度差並且可以到達終點
感覺二分搜的觀念很像真假子圖那題
複雜度:O(n*n*log(1e6))
我個人的做法是做兩次bfs 第一次找 可以到終點的最小高度差 第二次找 bfs時 只要判斷兩點高度差是不是小於等於第一次找到的值 就可以了~ 複雜度:O(2*n*n) 二分搜做法 二分搜最小高度差 並且做bfs 找到最小的高度差並且可以到達終點 感覺二分搜的觀念很像真假子圖那題 複雜度:O(n*n*log(1e6))
這個做法一的時間複雜度分析應該是有問題的,建議檢查看看 BFS 是不是每個格子都只會走到一次,還是會走很多次?
我個人的做法是做兩次bfs 第一次找 可以到終點的最小高度差 第二次找 bfs時 只要判斷兩點高度差是不是小於等於第一次找到的值 就可以了~ 複雜度:O(2*n*n) 二分搜做法 二分搜最小高度差 並且做bfs 找到最小的高度差並且可以到達終點 感覺二分搜的觀念很像真假子圖那題 複雜度:O(n*n*log(1e6)) 這個做法一的時間複雜度分析應該是有問題的,建議檢查看看 BFS 是不是每個格子都只會走到一次,還是會走很多次?
那請問可以使用dijkstra嗎?