vijos 1198 最佳課題選擇

2021-09-08 06:45:09 字數 1199 閱讀 1607

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

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

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

對於30%的資料,n<=10,m<=5;

對於100%的資料,n<=200,m<=20,ai<=100,bi<=5。

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

10 3

2 11 2

2 1

19

各個測試點1s

#include#include

#include

#include

#include

using

namespace

std;

long

long dp[10001],c[510][10001

];

intmain()

memset(dp,

0x3f3f3f3f,sizeof

(dp));

dp[0]=0

;

for(i=1;i<=m;++i)//

一共有m個課題

for(j=n;j>=0;--j)//

要完成n個研究課題

for(k=1;k<=j;++k)//

選擇的次數

dp[j]=min(dp[j],dp[j-k]+c[i][k]);

printf(

"%d\n

",dp[n]);

return

0;

}

posted @

2017-01-22 13:42

惑&葬 閱讀(

...)

編輯收藏

Vijos P1198 最佳課題選擇

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...

分組揹包 最佳課題選擇

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