codeforces 189A Cut Ribbon
来源:互联网 发布:三国志9优化伴侣32位 编辑:程序博客网 时间:2024/06/08 12:33
很简单的一道题,暴力就行了,我这里用背包dp来做。本题是一道完全背包。
0-1背包的状态转移方程:dp[i][j]表示用前j容量装前i件物品,dp[i][j]=max(dp[i-1][j-v[i]]+w[i],dp[i-1][j]),可省略第一维,循环必须V:v-0;
完全背包:dp[i][j]=max(dp[i-1][j],dp[i][j-v[i]]+w[i]),可省略第一维,循环V:0-v;
若问恰好装满,可初始化dp[0]=0,dp[i]=-inf;
二维:
#include<iostream>#include<string>#include<cstring>#include<cstdio>#include<cmath>#include<iomanip>#include<map>#include<algorithm>#include<queue>#include<set>#define inf 10000000#define pi acos(-1.0)#define eps 1e-8#define seed 131using namespace std;typedef pair<int,int> pii;typedef unsigned long long ULL;typedef long long LL;const int maxn=100005;int dp[4][4005];int main(){ int d[4]; int n; scanf("%d%d%d%d",&n,&d[1],&d[2],&d[3]); dp[0][0]=0; for(int i=1;i<=n;i++) dp[0][i]=-inf; for(int i=1;i<=3;i++) { for(int j=0;j<=n;j++) { dp[i][j]=-inf; if(dp[i-1][j]>=0) dp[i][j]=max(dp[i][j],dp[i-1][j]); if(j-d[i]>=0&&dp[i][j-d[i]]>=0) dp[i][j]=max(dp[i][j],dp[i][j-d[i]]+1); } } cout<<dp[3][n]; return 0;}一维:
#include<iostream>#include<string>#include<cstring>#include<cstdio>#include<cmath>#include<iomanip>#include<map>#include<algorithm>#include<queue>#include<set>#define inf 10000000#define pi acos(-1.0)#define eps 1e-8#define seed 131using namespace std;typedef pair<int,int> pii;typedef unsigned long long ULL;typedef long long LL;const int maxn=100005;int dp[4005];int main(){ int d[4]; int n; scanf("%d%d%d%d",&n,&d[1],&d[2],&d[3]); dp[0]=0; for(int i=1;i<=n;i++) dp[i]=-inf; for(int i=1;i<=3;i++) { for(int j=0;j<=n;j++) { //dp[j]=max(dp[j],dp[j]); if(j-d[i]>=0) dp[j]=max(dp[j],dp[j-d[i]]+1); } } cout<<dp[n]; return 0;}
0 0
- codeforces 189A Cut Ribbon
- CodeForces 189A Cut Ribbon
- CodeForces 189A-Cut Ribbon
- codeforces 189A. Cut Ribbon
- CodeForces 189A Cut Ribbon
- Codeforces-189A-Cut Ribbon
- codeforces 189a Cut Ribbon 水dp
- codeforces——189A——Cut Ribbon
- CF - 189A - Cut Ribbon
- CF 189A Cut Ribbon
- CF 189 A Cut Ribbon
- CF 189A Cut Ribbon
- A. Cut Ribbon
- codefroces A. Cut Ribbon
- Codeforces Round #119 (Div. 2) / 189A Cut Ribbon (完全背包)
- Codeforces 189A. Cut Ribbon 完全背包装满最多装下物品的个数
- Codeforces Round #119 (Div. 2) A. Cut Ribbon
- Codeforces189 A. Cut Ribbon(DP)
- [Leetcode] 32 - Longest Valid Parentheses
- android TextView多行文本(超过3行)使用ellipsize属性无效
- {转}dispy,asyncoro实现的分布式并行计算框架
- Windows Server 2008 R2不能使用指纹识别、蓝牙
- hdu 4561
- codeforces 189A Cut Ribbon
- AVL树
- 几种基本工作流模式
- Android控件源码分析--AndroidResideMenu菜单
- 新东西001--android数据库升级维护
- 【Dokan学习记录】2015-01-29
- Swap Nodes in Pairs
- opencv图像原地(不开辟新空间)顺时旋转90度
- TSP+dp+状态压缩的本质