炮兵陣地 POJ 1185 狀壓dp

2021-08-06 04:35:49 字數 474 閱讀 6101

參考還是只能看別人的,

他這裡預處理。。

所以存的就不是(1<<10)那麼大的數了,所以可以儲存上乙個的狀態和這乙個的狀態。。

自己太粗心了。。弄了挺久都沒改出來。。。(以後再改吧。。)

int n,m;

vectorstate[110];

int dp[110][n][n];

char s[110][15];

void solve()

if(i==1)dp[i][j][0]=num;

else}}

}}

}}int main()

int up=(1

for(int j=0;j<=up;++j)

}solve();

for(int i=0;ipf("%d\n",ans);

}}

炮兵陣地 POJ 1185 狀壓dp

司令部的將軍們打算在n m的網格地圖上部署他們的炮兵部隊。乙個n m的地圖由n行m列組成,地圖的每一格可能是山地 用 h 表示 也可能是平原 用 p 表示 如下圖。在每一格平原地形上最多可以布置一支炮兵部隊 山地上不能夠部署炮兵部隊 一支炮兵部隊在地圖上的攻擊範圍如圖中黑色區域所示 如果在地圖中的灰...

POJ1185(炮兵陣地) 狀壓DP

每一行的狀態是取決於上一行和上上一行的,所以每次更新的時候需要記錄當前行的狀態和下一行的狀態,然後再進行遞推。不過估算了一下複雜度是10的11次方,嚇得我都沒敢寫啊!看了一下別人的部落格,居然真有這樣寫過的,於是就自己實現一邊啦 最後看了以下討論版,處理一下複雜度可以降低的,最後貼討論版 思路 令p...

POJ1185 炮兵陣地 狀壓dp

司令部的將軍們打算在n m的網格地圖上部署他們的炮兵部隊。乙個n m的地圖由n行m列組成,地圖的每一格可能是山地 用 h 表示 也可能是平原 用 p 表示 如下圖。在每一格平原地形上最多可以布置一支炮兵部隊 山地上不能夠部署炮兵部隊 一支炮兵部隊在地圖上的攻擊範圍如圖中黑色區域所示 如果在地圖中的灰...