題意:給你個長度為n的數字串,每次最多旋轉三個數字,至少經過都少部才能到達目標串。
思路:一開始我也是用dp做的,但是沒考慮到後效性,所以wa了。後來看了題解,思路是這樣的dp[i][j][k]表示第i為匹配好,第i+1位增加了j,第i+2增加了k。狀態轉移:第i+2位增加k+x,第i+3位增加y,然後還要考慮到減的情況。
**如下:
#include#include#include#include#include#include#define n 1005
#define inf 0x7ffffff
#define eps 1e-9
#define pi acos(-1.0)
using namespace std;
char a[n],b[n];
int dp[n][15][15];
int main()
printf("%d\n",dp[n][0][0]);
}return 0;
}
杭電4501 三維dp
這到題可以算乙個三維的揹包吧 之前把題義理解錯了 以為以0積分或0錢那的就算免費的 原來不是 可以拿任意價值的。看了別人的 也學到了一點小技巧,比如dp i j max dp i 1 j dp i 1 j c i 這不是這道題的轉移方程 如果用滾動陣列要注意內迴圈的順序,但不用滾動陣列會浪費空間 所...
HDU 4267 三維樹狀陣列
1.題目鏈結。題目的操作其實很像去區間修改,區間查詢的操作了,但是這個操作的區間不再是連續的了,而是離散的。但是這裡還是可以用樹狀陣列維護的,因為k很小,所以k和i k其實只有c 10,2 種情況,我們對每一種情況建一顆樹狀陣列,然後查詢的時候查對應的樹狀陣列即可。includeusing name...
poj1185 三維狀壓dp
description 司令部的將軍們打算在n m的網格地圖上部署他們的炮兵部隊。乙個n m的地圖由n行m列組成,地圖的每一格可能是山地 用 h 表示 也可能是平原 用 p 表示 如下圖。在每一格平原地形上最多可以布置一支炮兵部隊 山地上不能夠部署炮兵部隊 一支炮兵部隊在地圖上的攻擊範圍如圖中黑色區...