做了很久的題 有注釋
#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 表示 如下圖。在每一格平原地形上最多可以布置一支炮兵部隊 山地上不能夠部署炮兵部隊 一支炮兵部隊在地圖上的攻擊範圍如圖中黑色區...