洛谷 P1077 擺花 題解

2021-10-09 01:09:52 字數 835 閱讀 9557

洛谷 p1077

小明的花店新開張,為了吸引顧客,他想在花店的門口擺上一排花,共m

mm盆。通過調查顧客的喜好,小明列出了顧客最喜歡的n

nn種花,從1到n

nn標號。為了在門口展出更多種花,規定第iii種花不能超過aiai

ai​盆,擺花時同一種花放在一起,且不同種類的花需按標號的從小到大的順序依次擺列。

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

第一行包含兩個正整數n

nn和m

mm,中間用乙個空格隔開。

第二行有n

nn個整數,每兩個整數之間用乙個空格隔開,依次表示a

aa 1,a

aa 2,…,anan

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

input

2 43 2

output

2二維dpdp

dp可以簡化為一維,但我太蒟了

i

ii是第i

ii種花

j

jj是第jjj盤

k

kk是當前的花擺kkk盤

#include

#include

#include

using namespace std;

const int mo=1000007;

int n,m,a[120],f[120]

[120]

;int main(

)

擺花 洛谷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...

洛谷 P1077 擺花

一道簡單的dp問題。dp i j 表示前i種花j個花盆的方案數。那麼就有狀態轉移方程為sum dp i 1 k 其中k的取值是從0到min j,a i include using namespace std int m,n int dp 105 105 int a 105 int mod 10000...