P1048 采药
Posted jackwang-sparrow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1048 采药相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define mem(a) memset(a,0,sizeof(a)) #define sc1(a) scanf("%lld",&a) #define sc2(a,b) scanf("%lld%lld",&a,&b) #define sc3(a,b,c) scanf("%lld%lld%lld",&a,&b,&c) const ll MAXN=1e9+7; const ll N=1e5+5; ll dp[N]; int main() { ll T,M,i,j; sc2(T,M); ll t[M],m[M]; for(i=0;i<M;i++) { sc2(t[i],m[i]); } mem(dp); for(i=0;i<M;i++) { for(j=T;j>=t[i];j--) { dp[j]=max(dp[j],dp[j-t[i]]+m[i]); } } cout<<dp[T]<<endl; }
以上是关于P1048 采药的主要内容,如果未能解决你的问题,请参考以下文章
P1048 [NOIP2005 普及组] 采药(01背包 dp)