poj 1157 LITTLE SHOP OF FLOWERS
2012-03-10 00:06
169 查看
题目大意就是每种花有一个编号,有几个花瓶,花瓶也是有编号的,每种花放在不同的花瓶的艺术价值不一样,要你把这些花按某种策略放在这些花瓶里,得到艺术价值总值最大,并且,编号小的花所在的花瓶的编号要比编号大的花所在花瓶的编号小。
参考http://www.cnblogs.com/ybrbupt/archive/2011/08/03/2126021.html
http://www.cnblogs.com/sysuwhj/archive/2011/03/31/2001664.html
http://www.cppblog.com/mythit/archive/2009/06/16/87791.html
动态规划的基础题,列出递推的公式
按花束来划分ans[i][j] 表示前i种花束放进前j个花瓶里获得的最大值,
A[i][j]表示第i种花放在第j个花瓶得到的艺术值
ans[i][j] = max{ans[i-1][j] , ans[i-1][j-1] + A[i][j]}
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; #define MAX_N 101 int F, V, A[MAX_N][MAX_N], ans[MAX_N][MAX_N]; int main() { memset(ans, 0, sizeof(ans)); scanf("%d %d", &F, &V); for(int i = 1; i <= F; i++) { for(int j = 1; j <= V; j++) { scanf("%d", &A[i][j]); } ans[i][i] = ans[i-1][i-1] + A[i][i]; } for(int i = 1; i <= F; i++) { for(int j = i + 1; j <= V; j++) ans[i][j] = max(ans[i][j-1], ans[i-1][j-1] + A[i][j]); } printf("%d\n", ans[F][V]); return 0; }
按花瓶来划分ans[i][j] = max(ans[i][j-1], ans[i-1][j-1] + A[i][j]
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; #define MAX_N 101 #define INF 10000 int F, V, A[MAX_N][MAX_N], ans[MAX_N][MAX_N]; int main() { memset(ans, 0, sizeof(ans)); scanf("%d %d", &F, &V); for(int i = 1; i <= F; i++) { for(int j = 1; j <= V; j++) { scanf("%d", &A[i][j]); } } for(int i = 0; i <= F;i++) { for(int j = 0; j < i; j++) ans[i][j] = -INF; } for(int j = 1; j <= V; j++) { for(int i = 1; i <= min(j, F); i++) ans[i][j] = max(ans[i][j-1], ans[i-1][j-1] + A[i][j]); } printf("%d\n", ans[F][V]); return 0; }
相关文章推荐
- poj - 1157 - LITTLE SHOP OF FLOWERS(dp)
- POJ1157 LITTLE SHOP OF FLOWERS
- POJ 1157 LITTLE SHOP OF FLOWERS
- poj 1157 LITTLE SHOP OF FLOWERS
- POJ 1157 LITTLE SHOP OF FLOWERS
- POJ 1157/SGU104 Little shop of flowers(DP)
- POJ 1157 LITTLE SHOP OF FLOWERS
- poj1157 LITTLE SHOP OF FLOWERS (dp)
- POJ1157 LITTLE SHOP OF FLOWERS
- poj1157 LITTLE SHOP OF FLOWERS(dp)
- POJ 1157 LITTLE SHOP OF FLOWERS
- poj 1157 LITTLE SHOP OF FLOWERS 动态规划
- POJ 1157 LITTLE SHOP OF FLOWERS(DP)
- POJ 题目1157 LITTLE SHOP OF FLOWERS(DP)
- POJ 1157 LITTLE SHOP OF FLOWERS
- poj 1157 LITTLE SHOP OF FLOWERS
- POJ 1157 LITTLE SHOP OF FLOWERS
- POJ 1157 LITTLE SHOP OF FLOWERS【基础DP】
- POJ 1157 LITTLE SHOP OF FLOWERS
- 【原】 POJ 1157 LITTLE SHOP OF FLOWERS 动态规划 解题报告