第六周:( Sicily1342) 开心的金明(c++)
2017-03-29 00:15
197 查看
原题链接:http://soj.sysu.edu.cn/1342
思路:这是一道关于动态规划的背包问题。动态规划的难点就在于找到递推公式。在本题中,递推公式为:dp[i][j]=max(dp[i-1][j-v[i]]+p[i]*v[i],dp[i-1][j])。
代码如下:
思路:这是一道关于动态规划的背包问题。动态规划的难点就在于找到递推公式。在本题中,递推公式为:dp[i][j]=max(dp[i-1][j-v[i]]+p[i]*v[i],dp[i-1][j])。
代码如下:
#include <iostream> #include <memory.h> using namespace std; int main() { int N,m; while(cin>>N>>m){ int v[m+1],p[m+1]; int dp[m+1][N+1]; memset(dp,0,sizeof(dp)); for(int i=1;i<=m;i++) cin>>v[i]>>p[i]; for(int i=1;i<=m;i++){ for(int j=1;j<=N;j++){ if(j>=v[i]){ if(dp[i-1][j]<dp[i-1][j-v[i]]+p[i]*v[i]) dp[i][j]=dp[i-1][j-v[i]]+p[i]*v[i]; else dp[i][j]=dp[i-1][j]; }else{ dp[i][j]=dp[i-1][j]; } } } cout<<dp[m] <<endl; } return 0; }
相关文章推荐
- sicily 1342 开心的金明
- ( Sicily1342) 开心的金明(week 8)
- sicily 1342 开心的金明 DP
- sicily 1342 开心的金明
- Sicily 1342. 开心的金明
- Sicily 1342 开心的金明
- sicily 1342. 开心的金明
- sicily 1342. 开心的金明
- Sicily 1342. 开心的金明
- [sicily]1342. 开心的金明
- Sicily.1342.开心的金明&&Sicily.1146.采药
- 1342. 开心的金明
- Sicily 1346. 金明的预算方案
- 【动态规划】【RQNOJ】第2题 开心的金明 C源码
- 开心的金明(dp 01背包)
- 开心的金明-洛谷 1060
- P1060 开心的金明
- 蓝桥杯 ALGO31 算法训练 开心的金明 java版
- 2006年分区联赛普级组之二 开心的金明
- A1156. 开心的金明