HDU1114 Piggy-Bank (完全背包)
完全背包模板,和01背包相比不用倒推,因为一种可以选多个。
这道题求最小,dp数组初始化为无穷即可。
1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int M=10005; 6 const int INF=0x3f3f3f; 7 int dp[M];//dp[j]表示放入重量为j的存钱罐面值之和最小值 8 int val[M],w[M];//val[i]表示第i种硬币的面值,w[i]表示第i种硬币的重量 9 10 int main(){ 11 int t,E,F,W,N; 12 cin>>t; 13 while(t--){ 14 cin>>E>>F; 15 W=F-E; 16 cin>>N; 17 for(int i=0;i<N;i++) cin>>val[i]>>w[i]; 18 memset(dp,0x3f,sizeof(dp)); 19 dp[0]=0; 20 for(int i=0;i<N;i++)//完全背包 21 for(int j=w[i];j<=W;j++) 22 dp[j]=min(dp[j],dp[j-w[i]]+val[i]); 23 if(dp[W]<INF) 24 cout<<"The minimum amount of money in the piggy-bank is "<<dp[W]<<"."<<endl; 25 else 26 cout<<"This is impossible."<<endl; 27 } 28 return 0; 29 }
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现