HDU_3127 WHUgirls(DP)
2011-09-05 14:44
375 查看
大连网络赛之前做的一次模拟赛上见到,开始想用贪心做,但没想到好的贪心策略,之后放下。这几天又重新看了看这道题,有看了看网上的题解,终于把这题A了!。
思路:
如图:
布的总大小为(xx, yy)。剪下的面积为(x, y); 注意这句话: a machine which can cut one cloth into exactly two smaller rectangular pieces horizontally or vertically
所以可行的剪法有四种,即:
由上图可得动态转移方程为:
dp[i][j] = max(dp[i][j], dp[i-x][j] + dp[x][j-y] + c[k]);
dp[i][j] = max(dp[i][j], dp[i][j-y] + dp[i-x][y] + c[k]);
dp[i][j] = max(dp[i][j], dp[i-y][j] + dp[y][j-x] + c[k]);
dp[i][j] = max(dp[i][j], dp[i][j-x] + dp[i-y][x] + c[k]);
My Code:
思路:
如图:
布的总大小为(xx, yy)。剪下的面积为(x, y); 注意这句话: a machine which can cut one cloth into exactly two smaller rectangular pieces horizontally or vertically
所以可行的剪法有四种,即:
由上图可得动态转移方程为:
dp[i][j] = max(dp[i][j], dp[i-x][j] + dp[x][j-y] + c[k]);
dp[i][j] = max(dp[i][j], dp[i][j-y] + dp[i-x][y] + c[k]);
dp[i][j] = max(dp[i][j], dp[i-y][j] + dp[y][j-x] + c[k]);
dp[i][j] = max(dp[i][j], dp[i][j-x] + dp[i-y][x] + c[k]);
My Code:
#include <iostream> #include <cstdio> #include <cstring> #pragma comment(linker,"/STACK:65536000"); using namespace std; const int N = 1002; int dp ; int w[11][2], c[11]; int main() { //freopen("data.in", "r", stdin); int t; cin >> t; while(t--) { int n, a, b, x, y, i, j, k; cin >> n >> a >> b; memset(w, 0, sizeof(w)); memset(c, 0, sizeof(c)); for(i = 1; i <= n; i++) cin >> w[i][0] >> w[i][1] >> c[i]; for(i = 0; i <= a; i++) for(j = 0; j <= b; j++) dp[i][j] = 0; for(i = 0; i <= a; i++) { for(j = 0; j <= b; j++) { for(k = 1; k <= n; k++) { x = w[k][0]; y = w[k][1]; if(i >= x && j >= y) { dp[i][j] = max(dp[i][j], dp[i-x][j] + dp[x][j-y] + c[k]); dp[i][j] = max(dp[i][j], dp[i][j-y] + dp[i-x][y] + c[k]); } x = w[k][1]; y = w[k][0]; if(i >= x && j >= y) { dp[i][j] = max(dp[i][j], dp[i-x][j] + dp[x][j-y] + c[k]); dp[i][j] = max(dp[i][j], dp[i][j-y] + dp[i-x][y] + c[k]); } } } } printf("%d\n", dp[a][b]); } return 0; }
相关文章推荐
- 【DP】HDU 3127 WHUgirls 完全背包
- 【DP】HDU 3127 WHUgirls 完全背包
- HDU 3127 WHUgirls dp背包问题
- hdu 3127 WHU girls 2009武汉网络赛 dp
- HDU 3127 WHUgirls(DP 完全背包)
- HDU 3127 WHUgirls (线性dp 完全背包)
- HDU 3127 WHUgirls dp背包问题
- hdu 3127 WHUgirls【dp】好题~
- HDU 3127 WHUgirls(二维背包)
- HDU 3127 WHUgirls(完全背包)
- HDU OJ 3127 WHUgirls【DP之背包】
- HDU 3127 WHUgirls(完全背包)
- HDU OJ 3127 WHUgirls【DP之背包】
- hdu 3127 WHUgirls(二维背包)
- HDU 3127 WHUgirls【二维完全背包】
- HDU-3127-WHUgirls(完全背包)
- hdoj 3127 WHUgirls 【好题 DP】
- hdu 3127 WHUgirls 二维完全背包
- HDU 3127 WHUgirls(完全背包)
- 【HDU 3127】WHUgirls(二维完全背包)