hdu5234 Happy birthday 动态规划
2015-06-01 17:31
288 查看
dp[i][j][k]为在点(i,j),当前获得量为k的方法是否存在
要求解点(i,j),有(i-1,j)和(i,j-1)的答案即可得出(因为题目中只允许向下向右走
数据并不强,也并不需要压缩空间
bc上的题解是dp[i][j][k]代表在(i,j)背包容量为k时的最大值,个人认为反而复杂化了问题……
要求解点(i,j),有(i-1,j)和(i,j-1)的答案即可得出(因为题目中只允许向下向右走
数据并不强,也并不需要压缩空间
bc上的题解是dp[i][j][k]代表在(i,j)背包容量为k时的最大值,个人认为反而复杂化了问题……
#include<iostream> #include<iomanip> #include<cstdio> #include<cstring> #include<sstream> #include<stack> #include<queue> #include<fstream> #include<algorithm> #include<map> #include<set> #include<vector> #include<cmath> #define CLR(x) memset(x,0,sizeof(x)) #define SETMAX(x) memset(x,0x3f,sizeof(x)) #define SETNO(x) memset(x,-1,sizeof(x)) #define ll long long #define eps 1e-6 #define pow2(x) ((x)*(x)) #define forto(i,n) for(int i=0;i<n;i++) #define for1to(i,n) for(int i=1;i<=n;i++) #define VI vector<int> using namespace std; const double PI=acos(-1.0); #define INF 0x3f3f3f3f #define NINF 0xbfffffff using namespace std; int A[111][111]; bool dp[111][111][111]; int main() { cin.sync_with_stdio(false); #ifndef ONLINE_JUDGE freopen("test.txt","r",stdin); #endif // ONLINE_JUDGE int n,m,K; while (cin>>n>>m>>K) { for1to(i,n) for1to(j,m) cin>>A[i][j]; for (int i=0;i<=n;i++) dp[i][0][0]=true; for (int i=0;i<=m;i++) dp[0][i][0]=true; for1to(i,n) { for1to(j,m) { for (int k=0;k<=K;k++) { dp[i][j][k]=dp[i-1][j][k] || dp[i][j-1][k]; if (k>=A[i][j]) dp[i][j][k] = dp[i][j][k]|| dp[i-1][j][k-A[i][j]] || dp[i][j-1][k-A[i][j]]; } } } for (int i=K;i>=0;i--) { if (dp [m][i]) { cout<<i<<endl; break; } } } return 0; }
相关文章推荐
- android:gravity 和 android:layout_Gravity
- iOS 清理某一个cookies 或者全部 cookies
- 获取iOS设备上崩溃日志(Crash Log)的方法
- 使用mybatis执行对应的SQL Mapper配置中的insert、update、delete等标签操作,数据库记录不变
- 直角图片进行圆角处理
- XMPP协议之Androidpn介绍
- android 语音对话demo
- C# 中object sender与EventArgs e
- [iOS Crash文件分析]-如何使用symbolicatecrash工具
- IOS ,简单的图片浏览器
- 安卓微信overflow-x overflow-y引发的bug
- Android SDK Manager 更新代理配置
- Android ViewFlow的一个例子
- Unity3D制作2D精灵动画
- 测试你的移动App的用户体验
- 探索Android中的Parcel机制(上)
- Unity协程(Coroutine)原理深入剖析
- cocos2dx Armature动画
- App 设计技巧
- Android-manifest详解