狀態dp poj 1185 炮兵陣地 三維dp

2021-07-05 14:15:12 字數 1207 閱讀 1958

poj 1185 炮兵陣地

問題描述:給你乙個n行m列的p-h矩陣,h表示不能安置炮兵,1可以安置炮兵,要求炮兵攻擊管轄內不能在安置其他炮兵,問最多可安置炮兵的數目

基本思路參考上一題

狀態轉移方程不是很好想,可能這就是dp的難點~

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define eps 1e-9

#define pi acos(-1)

#define long long ll

#define m 10

#define n 110

using

namespace

std;

const

int _max = 60 + 10;//最多可能狀況不超60種,太大或mle

const

int mod = 1e8;

int n,m,row[n],top,st[_max];

int dp[n][_max][_max],cnt[_max];

char ch;

bool judge(int x,int j)

void init()

cnt[top] = res;

}}int main()

getchar();

}init();

memset(dp,0,sizeof(dp));

for(int i = 1; i <= top;++ i)

if(judge(row[1],i)) dp[1][i][1] = cnt[i];

//dp

for(int i = 2; i <= n; ++ i)

for(int j = 1; j <= top; ++ j)}}

int tar = -1;

for(int i = 1; i <= top; ++ i)

for(int j = 1; j<= top; ++ j)

if(tar < dp[n][i][j]) tar = dp[n][i][j];

printf("%d\n",tar);

}return

0;}

1185 炮兵陣地

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

poj 1185 炮兵陣地

題目鏈結 題意 在n m的網格地圖上部署炮兵部隊。地圖的每一格可能是山地 用 h 表示 也可能是平原 用 p 表示 如下圖。在每一格平原地形上最多可以布置一支炮兵部隊 山地上不能夠部署炮兵部隊 一支炮兵部隊在地圖上的攻擊範圍如圖中黑色區域所示 如果在地圖中的灰色所標識的平原上部署一支炮兵部隊,則圖中...

POJ 1185 炮兵陣地

include include include include include include include include include include include include include include define sz v int v size define rep i,n ...