題目鏈結
題意:
有 n個
格仔,1
為起點,
n為終點
有n個格仔,1為起點,n為終點
有n個格仔,
1為起點
,n為終點每個
格仔有一
個分
數每個格仔有乙個分數
每個格仔有一
個分數有m種
卡片,每
種卡片有
數字1,
2,3,
4有m種卡片,每種卡片有數字1,2,3,4
有m種卡片,
每種卡片
有數字1
,2,3
,4代 錶能
走的步數
代表能走的步數
代表能走的步數走到
一點取的
該點分數
,所有卡
片相加恰
好到
n走到一點取的該點分數,所有卡片相加恰好到n
走到一點取的
該點分數
,所有卡
片相加恰
好到n求最大
能得到的
分數
求最大能得到的分數
求最大能得到
的分數題解:
n
<
=350,m
<
=120
n<=350, m<=120
n<=3
50,m
<=1
20數 不是
很大,所
以直接進
行搜
索數不是很大,所以直接進行搜尋
數不是很大,
所以直接
進行搜尋
由 於順
序是不一
定的,所
以要對4
種數字進
行分別搜
索由於順序是不一定的,所以要對4種數字進行分別搜尋
由於順序是不
一定的,
所以要對
4種數字
進行分別
搜尋4
120的複雜
度肯定也
是不行的
4^的複雜度肯定也是不行的
4120的復
雜度肯定
也是不行的所以
就進行記
憶化搜尋
所以就進行記憶化搜尋
所以就進行記
憶化搜尋
d p[
a][b
][c]
[d]表
示從1開
始用了a
張數字1
,b張數
字2,c
張數字3
,d張數
字4得到
的最大分
數dp[a][b][c][d]表示從1開始用了a張數字1,b張數字2,c張數字3,d張數字4得到的最大分數
dp[a][
b][c
][d]
表示從1
開始用了
a張數字
1,b張
數字2,
c張數字
3,d張
數字4得
到的最大
分數每 次搜
索只要數
字仍夠使
用,就往
下搜尋,
取最大值
進行記憶
每次搜尋只要數字仍夠使用,就往下搜尋,取最大值進行記憶
每次搜尋只要
數字仍夠
使用,就
往下搜尋
,取最大
值進行記憶這樣
複雜度就
剪到了12
04,可
以完成搜
索這樣複雜度就剪到了120^4,可以完成搜尋
這樣複雜度就
剪到了1
204,
可以完成
搜尋ac**
/*
author : zzugzx
lang : c++
blog : blog.csdn.net/qq_43756519
*/#include
using
namespace std;
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define all(x) (x).begin(), (x).end()
#define endl '\n'
#define sz(x) (int)x.size()
typedef
long
long ll;
typedef
unsigned
long
long ull;
typedef pair<
int,
int> pii;
typedef pair pll;
const
int mod =
1e9+7;
//const int mod = 998244353;
const
double eps =
1e-6
;const
double pi =
acos(-
1.0)
;const
int maxn =
1e6+10;
const
int n =
120+5;
const ll inf =
0x3f3f3f3f
;const
int dir[
2]=,
,,,,
,,};
int v[maxn]
, cnt[10]
, dp[n]
[n][n]
[n], n, m;
intdfs
(int p,
int a,
int b,
int c,
int d)
intmain()
cout <<
dfs(1,
0,0,
0,0)
;return0;
}
codevs天梯 烏龜棋
題目描述 description 小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤是一行n個格仔,每個格仔上乙個分數 非負整數 棋盤第1格是唯一 的起點,第n格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。1 2 3 4 5 n 烏龜棋中m張爬行卡片,分成4種不同的型別 m張卡...
線性DP 烏龜棋
推薦 炒雞棒的萌新dp題單 大概?acwing 312.烏龜棋 小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤只有一行,該行有 n 個格仔,每個格仔上乙個分數 非負整數 棋盤第 1 格是唯一的起點,第 n 格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。烏龜棋中共有 m 張爬...
烏龜棋 動態規劃
題目鏈結 小明過生日的時候,爸爸送給他一副烏龜棋當作禮物。烏龜棋的棋盤只有一行,該行有 n 個格仔,每個格仔上乙個分數 非負整數 棋盤第 1 格是唯一的起點,第 n 格是終點,遊戲要求玩家控制乙個烏龜棋子從起點出發走到終點。烏龜棋中共有 m 張爬行卡片,分成 4 種不同的型別 m 張卡片中不一定包含...