題意:給出我們需要學的科目數,給出m種不同的科目,n<=m
即可以學的科目數小於我們需要學的科目數,也就是說我們需要多次學同一門科目
計算學習某門科目的時間為:
求如何學習才能讓時間最低;
思路:給出dp【i】【j】表示選擇前i種科目學習j次所花最少時間
1 #include2view codeusing
namespace
std;
3 typedef long
long
ll;4
const
int maxn=2e3+10;5
ll dp[maxn][maxn];
6ll a[maxn],b[maxn];
7ll qpow(ll x,ll y)815
return
sum;16}
17int
main()
1824
for(int i=1;i<=n;i++)
25 dp[1][i]=a[1]*qpow(i,b[1
]);26
for(int i=1;i<=m;i++)
27 dp[i][0]=0;28
for(int i=2;i<=m;i++)35}
36}37 printf("
%lld\n
",dp[m][n]);
38return0;
39 }
洛谷 題解 P1336 最佳課題選擇
詳細解析解題過程 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 in...
luogu P1336 最佳課題選擇 揹包dp
題目描述 matrix67要在下個月交給老師n篇 的內容可以從m個課題中選擇。由於課題數有限,matrix67不得不重複選擇一些課題。完成不同課題的 所花的時間不同。具體地說,對於某個課題i,若matrix67計畫一共寫x篇 則完成該課題的 總共需要花費ai x bi個單位時間 係數ai和指數bi均...
最佳課題選擇
時間限制 1 sec 記憶體限制 128 mb matrix67要在下個月交給老師n篇 的內容可以從m個課題中選擇。由於課題數有限,matrix67不得不重複選擇一些課題。完成不同課題的 所花的時間不同。具體地說,對於某個課題i,若matrix67計畫一共寫x篇 則完成該課題的 總共需要花費ai x...