洛谷 擺花 dp或dfs記憶化搜尋

2021-10-06 19:24:02 字數 1302 閱讀 9189

題目傳送

題目:

思路:

動態轉移方程為: dp[i][j] = dp[i][j] + dp[i-1][j-k]。

前i種花擺j盆花的擺法為:前i-1種花,擺j-k盆花的的擺法總數,另外k盆由第i種花擺出

還可以由記憶化搜尋做出來,這裡不貼**了。

ac**

#include

inline

intread()

while

(c >=

'0'&& c <=

'9')

return x*s;

}using

namespace std;

#define newnode (treenode *)malloc(sizeof(treenode))

#define mem(a,b) memset(a,b,sizeof(a))

#define lowbit(x) (x)&(-x)

const

int n =

1e5+10;

const

long

long infinf =

0x7f7f7f7f7f7f7f

;const

int inf =

0x3f3f3f3f

;const

double eps =

1e-7

;const

unsigned

long

long mod =

998244353

;const

double ii =

acos(-

1);const

double pp =

(ii*

1.0)/(

180.00);

typedef

long

long ll;

typedef

unsigned

long

long ull;

typedef pair<

int,

int> pii;

typedef pair piil;

int arr[

105]

,dp[

105]

[105];

intmain()

洛谷 P1434 滑雪 dfs 記憶化搜尋

記憶化搜尋 和斐波那契數列一樣搜尋過的直接用陣列打表儲存下來,記錄下來。首先,這題為什麼會想到記憶化?在dfs每種情況是,可能這個點之前已經搜過了,沒必要再去搜尋了,因此不如儲存記住,就沒必要再去dfs了。本題的主要思路 先去想dfs怎麼做 這題每個點出發有可能,所以我們每個點都要開始dfs,最後取...

洛谷P1077 擺花 揹包dp

小明的花店新開張,為了吸引顧客,他想在花店的門口擺上一排花,共m盆。通過調查顧客的喜好,小明列出了顧客最喜歡的n種花,從1到n標號。為了在門口展出更多種花,規定第i種花不能超過ai盆,擺花時同一種花放在一起,且不同種類的花需按標號的從小到大的順序依次擺列。試程式設計計算,一共有多少種不同的擺花方案。...

洛谷 1434 滑雪(記憶化搜尋)

思路 用h i j 表示雪坡的高度,f i j 為到達此處的最長滑坡。include define r i,a,b for int i a i b i 迴圈 define pk putchar 32 空格 define ph putchar 10 換行 using namespace std int...