又一道DP,剛開始時完全沒有思路,上網搜了一下別人的程序,其實也不是很難……
總結一下,大方向是對於每一塊brick,搜索3種情況,放左邊、右邊、不放。但如果簡單暴力搜索一定超時,3^500000
DP的關鍵就是找到“狀態”,以什麼來表示狀態
上網搜了一下別人的程序,用“兩塔高度差”作爲狀態,下來的思路就很簡單了
找到“狀態”是最難的一步,如何確定“狀態”,目前我還沒找到好的方法
通常“狀態”從直接的方向是找不到的,需要換一個角度
這道題目可以從結果找到,“高度相等,且高度最大”。“高度相等”,換一個角度就是兩塔高度差爲0。因此我們最終關心的只是兩塔的高度差,以及在這個高度差下的最大高度。
由此DP就很清晰了