洛谷 題解 P1336 最佳課題選擇

2022-02-13 23:23:29 字數 702 閱讀 3847

詳細解析解題過程

dp[i][j]表示前i節課題寫j篇**花費的最少時間
for(int i=0;i<=20;i++)

for(int j=0;j<=200;j++)dp[i][j]=inf;

//先初始化為inf

for(int i=0;i<=m;i++)dp[i][0]=0;

for(int i=1;i<=m;i++)//前i節課程

for(int j=1;j<=n;j++)//寫了j篇**

for(int k=0;k<=j;k++)//第i節課程寫了k篇

dp[i][j]=min(dp[i][j],dp[i-1][j-k]+(ll)(a[i]*pow(k,b[i])));

dp[m][n]
完整**:

#includeusing namespace std;

typedef long long ll;

int n,m;

ll a[30],b[30];

ll dp[30][250];

inline int read()

return tot;

}int main()}}

cout

}

P1336 最佳課題選擇

題意 給出我們需要學的科目數,給出m種不同的科目,n m 即可以學的科目數小於我們需要學的科目數,也就是說我們需要多次學同一門科目 計算學習某門科目的時間為 求如何學習才能讓時間最低 思路 給出dp i j 表示選擇前i種科目學習j次所花最少時間 1 include2 using namespace...

luogu P1336 最佳課題選擇 揹包dp

題目描述 matrix67要在下個月交給老師n篇 的內容可以從m個課題中選擇。由於課題數有限,matrix67不得不重複選擇一些課題。完成不同課題的 所花的時間不同。具體地說,對於某個課題i,若matrix67計畫一共寫x篇 則完成該課題的 總共需要花費ai x bi個單位時間 係數ai和指數bi均...

題解 洛谷 P1311 選擇客棧(遞推)

方法一 暴力列舉第乙個客棧 第二個客棧以及兩個客棧之間的客棧,尋找合法的條件,答案 理論上也就30分吧,結果60分。貼一下 include include include includeusing namespace std const int maxn 200010 int a maxn p ma...