//使用滚动数组 #include<cstdio> #include<algorithm> #include<iostream> using namespace std; int dp[1001]; int main(void){ int T,m; cin>>T>>m; for(int i=1;i<=m;i++){ int w,c; cin>>w>>c; for(int v=T;v>=w;v--) dp[v]=max(dp[v],dp[v-w]+c); } cout<<dp[T]<<endl; return 0; }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.3 (C++代码)浏览:656 |
妹子杀手的故事 (C语言代码)浏览:653 |
弟弟的作业 (C++代码)浏览:1275 |
九宫重排 (C++代码)浏览:1319 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:510 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:439 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:544 |
1013题解浏览:548 |
简单的a+b (C语言代码)浏览:883 |
找出最长的字符串来 (C语言代码)浏览:1692 |