noip2012普及組 擺花 DP

2021-06-27 00:30:46 字數 501 閱讀 9107

題意:有n種花,每種花有ai盆。現在求從左到右擺出m盆,要求id小的在id大的前面的方法數目。

f[i][j] 為用了前i種花,從左到右擺了j盆的方法數。

f[i][j] = f[i-1][j] + f[i][j-1] - f[i-1][j-ai-1]

f[i-1][j-ai-1] 轉移到 f[i][j]需要擺ai+1盆花,所以需要減去

#include #include #include #include #include #include #include using namespace std;

#define mod 1000007

const int maxn = 105;

int n, m;

int a[maxn];

int f[maxn][maxn];

int main()

cout << f[n][m];

}return 0;

}

Noip2012普及組 擺花

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

noip2012普及組 擺花

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

普及 NOIP 2012 擺花

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