#32621: 作法分享


dfd8282@gmail.com (fishhh)

學校 : 嘉義市私立嘉華高級中學
編號 : 99760
來源 : [140.114.24.30]
最後登入時間 :
2025-09-12 15:03:18

我個人的做法是做兩次bfs

第一次找 可以到終點的最小高度差

第二次找 bfs時 只要判斷兩點高度差是不是小於等於第一次找到的值 就可以了~

複雜度:O(2*n*n)

二分搜做法

二分搜最小高度差 並且做bfs 找到最小的高度差並且可以到達終點

感覺二分搜的觀念很像真假子圖那題

複雜度:O(n*n*log(1e6))

#32623: Re: 作法分享


algo.seacow@gmail.com (演算法海牛)

學校 : 不指定學校
編號 : 142490
來源 : [1.163.224.172]
最後登入時間 :
2025-06-15 17:38:24

我個人的做法是做兩次bfs

第一次找 可以到終點的最小高度差

第二次找 bfs時 只要判斷兩點高度差是不是小於等於第一次找到的值 就可以了~

複雜度:O(2*n*n)

二分搜做法

二分搜最小高度差 並且做bfs 找到最小的高度差並且可以到達終點

感覺二分搜的觀念很像真假子圖那題

複雜度:O(n*n*log(1e6))


這個做法一的時間複雜度分析應該是有問題的,
建議檢查看看 BFS 是不是每個格子都只會走到一次,還是會走很多次?

#33111: Re: 作法分享


williamlin254@gmail.com (Whale)

學校 : 不指定學校
編號 : 145425
來源 : [61.221.67.195]
最後登入時間 :
2024-04-20 13:24:07

我個人的做法是做兩次bfs

第一次找 可以到終點的最小高度差

第二次找 bfs時 只要判斷兩點高度差是不是小於等於第一次找到的值 就可以了~

複雜度:O(2*n*n)

二分搜做法

二分搜最小高度差 並且做bfs 找到最小的高度差並且可以到達終點

感覺二分搜的觀念很像真假子圖那題

複雜度:O(n*n*log(1e6))


這個做法一的時間複雜度分析應該是有問題的,
建議檢查看看 BFS 是不是每個格子都只會走到一次,還是會走很多次?

那請問可以使用dijkstra嗎?