摘要: 简单动态规划,将长方体分解成六个,然后二重排序后,DP即可。对于当前方块,选择前面的能够放置的方块的最大值加上本身的高度。代码如下:#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>#define MAXN 200using namespace std;// 对于每个长方体,有三种不同的方法。int N, dp[MAXN];struct Node{ int x, y, z;}e[MAXN];inline int max(int x, int y){ r 阅读全文
posted @ 2012-04-18 22:42 沐阳 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 01背包最裸模板题#include <cstdlib>#include <cstring>#include <cstdio>#define MAXN 1005using namespace std;int N, V, p[MAXN], v[MAXN], dp[MAXN];inline int max(int x, int y){ return x > y ? x : y;}void zobag(int x){ for (int i = V; i >= v[x]; --i) { dp[i] = max(dp[i], dp[i-v[x]]+p[x]) 阅读全文
posted @ 2012-04-18 17:11 沐阳 阅读(160) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1505自己写的屌丝代码:#include <cstdlib>#include <cstring>#include <cstdio>#define MAXN 1050using namespace std;int N, M, u[MAXN][MAXN], l[MAXN][MAXN], G[MAXN][MAXN];inline int max(int x, int y){ return x > y ? x : y;}inline int min(int x, int y) 阅读全文
posted @ 2012-04-18 16:37 沐阳 阅读(582) 评论(0) 推荐(0) 编辑