洛谷P1077 擺花 揹包dp

2022-04-06 03:31:54 字數 995 閱讀 6102

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

試程式設計計算,一共有多少種不同的擺花方案。

輸入格式:

第一行包含兩個正整數n和m,中間用乙個空格隔開。

第二行有n個整數,每兩個整數之間用乙個空格隔開,依次表示a1、a2、……an。

輸出格式:

輸出只有一行,乙個整數,表示有多少種方案。注意:因為方案數可能很多,請輸出方案數對1000007取模的結果。

輸入樣例#1:

2 4

3 2

輸出樣例#1:

2
【資料範圍】

對於20%資料,有0對於50%資料,有0對於100%資料,有0

/*

多重揹包 f[i]表示i盆方案數

*/#include

#include

#include

#define mod 1000007

#define n 107

using

namespace

std;

intn,m,ans,cnt;

inta[n],f[n];

intmain()

#include using

namespace

std;

long

long b[101][101],n,m,a[101

];int

main()

for(int i=1;i<=n;i++)

for(int j=1;j<=m;j++)

for(int k=j;k>=j-a[i];k--)

else

break

; }

cout

}

二維

P1077 擺花 揹包DP

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

擺花 洛谷p1077

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

洛谷 P1077 擺花

題目原位址 2 4 3 2 輸出 2首先,我們想到的一定是暴力dfs 20分 include include using namespace std int n,m,ans,a 105 b 105 void dfs int k,int space if k n return for int i mi...