POJ 1185 經典狀壓dp

2022-03-21 10:12:53 字數 566 閱讀 6448

做了很久的題 有注釋

#include#include#include#include#includeusing namespace std;

int dp[107][107][107];///二維記錄上一次 三維記錄此次

///dp[i][k][j]=max(dp[i][k][j],dp[i-1][t][k])+num[j]; t為列舉數且滿足與 k j 的條件

///初始化can num陣列減少時間

///如果不使用can陣列來記錄 memset都會超時

int can[107];

int num[107];

int n,m;

int c[107];

char s[107];

bool ok(int x)

int main()

w++;}}

for(int i=0;ifor(int i=1;i}}}

int ans=0;

for(int k=0;kfor(int i=0;ifor(int j=0;jprintf("%d\n",ans);

}}

POJ 1185 經典狀壓dp (模板)

炮兵陣地 time limit 2000ms memory limit 65536k total submissions 26096 accepted 10072 description 司令部的將軍們打算在n m的網格地圖上部署他們的炮兵部隊。乙個n m的地圖由n行m列組成,地圖的每一格可能是山地...

題解 poj1185 狀壓DP

題目鏈結 思路摘抄自大佬部落格 按層數來dp,如果用 dp i j k 來表示在第 i 行,狀態為 j i 1行狀態為 k 時的狀態,那麼有轉移方程 dp i j k max dp i j k dp i 1 k l num i 列舉 i 層數 j 當前層狀態 k 上一層狀態 l 上上層狀態 就可以來...

poj1185 三維狀壓dp

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