一道簡單的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 =
1000007
;int
min(
int a,
int b)
intmain()
用滾動陣列進行優化,dp[j]表示的是擺j盆花的方案數,轉化成01揹包問題。
#include
using
namespace std;
int mod =
1000007
;int n, m, a[
105]
, dp[
105]
;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 擺花
題外廢話 真的超級喜歡這道題 擺花 題目鏈結 yy一提醒,我發現這道題和 洛谷p2089 烤雞有異曲同工之妙 資料更大了更容易tle呢qwq solution1 暴搜 搜尋 關於搜尋就不用多介紹了吧,這裡是用了dfs dfs函式中有兩個變數,rest和i分別表示還需要擺放多少盆花以及現在擺放到第幾種...