題目傳送
題目:
思路:
動態轉移方程為: 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...