luogu P1336 最佳課題選擇 揹包dp

2022-03-09 20:47:28 字數 618 閱讀 2558

題目描述

matrix67要在下個月交給老師n篇**,**的內容可以從m個課題中選擇。由於課題數有限,matrix67不得不重複選擇一些課題。完成不同課題的**所花的時間不同。具體地說,對於某個課題i,若matrix67計畫一共寫x篇**,則完成該課題的**總共需要花費ai*x^bi個單位時間(係數ai和指數bi均為正整數)。給定與每乙個課題相對應的ai和bi的值,請幫助matrix67計算出如何選擇**的課題使得他可以花費最少的時間完成這n篇**。

輸入格式

第一行有兩個用空格隔開的正整數n和m,分別代表需要完成的**數和可供選擇的課題數。

以下m行每行有兩個用空格隔開的正整數。其中,第i行的兩個數分別代表與第i個課題相對應的時間係數ai和指數bi。

輸出格式

輸出完成n篇**所需要耗費的最少時間。

#include#include#include#include#includeusing namespace std;

const int n=205;

#define int long long

int a[n],b[n],f[n][n];

signed main()

} }cout<}

P1336 最佳課題選擇

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

洛谷 題解 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...

分組揹包 最佳課題選擇

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