hihoCoder#1038 01背包
基本动态规划
代码:
1 #include <iostream> 2 3 using namespace std; 4 5 int main() { 6 int N, M; 7 int score[100010]; 8 int need[512]; 9 int value[512]; 10 11 cin >> N >> M; 12 13 for (int i = 0; i < N; i++) 14 cin >> need[i] >> value[i]; 15 16 for (int i = 0; i <= M; i++) 17 score[i] = 0; 18 19 for (int i = 0; i < N; i++) 20 for (int j = M; j >= need[i]; j--) 21 score[j] = max(score[j], value[i] + score[j - need[i]]); 22 23 cout << score[M] << endl; 24 25 return 0; 26 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步