P1616疯狂的采药

it2026-03-08  9

传送

它不是可爱的01背包了!!!这个题中一种药可以采无限次!!!

它进化成了完全背包。完全背包中的内循环从m到v[i]改成了从v[i]到m

既然如此,代码如下:

#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; int c,t,m,v[1000001],w[1000001],f[500000];//f数组最好开大点 int main() {cin>>t>>m; for(int i=1;i<=m;i++) {cin>>v[i]>>w[i]; } //f[1][v[1]]=v[1]*w[1]; for(int i=1;i<=m;i++) { for(int j=v[i];j<=t;j++) {f[j]=max(f[j],f[j-v[i]]+w[i]);} } cout<<f[t]; return 0; }

其余完全背包:P2722总分

                      

转载于:https://www.cnblogs.com/lcez56jsy/p/10506914.html

相关资源:数据结构—成绩单生成器
最新回复(0)