dp練習 2016.2.24

  很經典的一道狀壓dp(似乎叫做旅行商問題),用f[i][s]表示在到達點i,已經經過的城市用二進制表示爲s,於是方程就很簡單了: f[i][s] = min { f[j][s ^ (1 << j)] + dis[j][i]| s & (1 << j) != 0}   然後用記憶化搜索即可,注意方向,因爲dis[i][j]可能不等於dis[j][i]。(下面的代碼某個處理似乎沒有必要) Code
相關文章
相關標籤/搜索