zoukankan      html  css  js  c++  java
  • sdut1933WHUgirls(dp)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1933

    矩形的dp一般挺类似  大的矩形都是由小的推出来的 对于一个长为i 宽为j 的 矩形 分别枚举把这n个给出的小矩形放入里面后 取一个最优值

    dp[i][j] = max(dp[i][j],dp[i-x][j]+dp[x][j-y],dp[i][j-y]+dp[i-x][y]) 交换小矩形的长宽 再取一次

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<stdlib.h>
     6 #include<cmath>
     7 #include<vector>
     8 #include<set>
     9 using namespace std;
    10 #define LL long long
    11 int xi,yi;
    12 int x[22],y[22],p[22];
    13 LL dp[1010][1010],n;
    14 int main()
    15 {
    16     int i,j,t,g;
    17     cin>>t;
    18     while(t--)
    19     {
    20         memset(dp,0,sizeof(dp));
    21         cin>>n>>xi>>yi;
    22         for(i = 0; i < n ;i++)
    23         {
    24             cin>>x[i]>>y[i]>>p[i];
    25         }
    26         LL maxz=0;
    27         for(i = 1 ; i <= xi ; i++)
    28             for(j = 1; j <= yi ; j++)
    29             {
    30                 for(g = 0 ; g < n ;g++)
    31                 {
    32                     if(i>=x[g]&&j>=y[g])
    33                     {
    34                         dp[i][j] = max(dp[i][j],max(dp[i-x[g]][j]+dp[x[g]][j-y[g]],dp[i][j-y[g]]+dp[i-x[g]][y[g]])+p[g]);
    35                     }
    36                     swap(x[g],y[g]);
    37                     if(i>=x[g]&&j>=y[g])
    38                     dp[i][j] = max(dp[i][j],max(dp[i-x[g]][j]+dp[x[g]][j-y[g]],dp[i][j-y[g]]+dp[i-x[g]][y[g]])+p[g]);
    39                 }
    40                 maxz = max(dp[i][j],maxz);
    41             }
    42         cout<<maxz<<endl;
    43     }
    44     return 0;
    45 } 
    46 
    47 
    48 
    49 /**************************************
    50     Problem id    : SDUT OJ 1933 
    51     User name    : shang 
    52     Result        : Accepted 
    53     Take Memory    : 8444K 
    54     Take Time    : 480MS 
    55     Submit Time    : 2014-02-18 17:17:13  
    56 **************************************/
    View Code
  • 相关阅读:
    谁的朱砂痣染白了谁的白月光
    随机数
    常见面试简单汇总整理
    oss分页列举遍历文件创建软链接
    oss创建软链接
    看英文文档的好处
    js原型链相关
    js 中的this指向问题
    jquery.fn.init
    转载
  • 原文地址:https://www.cnblogs.com/shangyu/p/3557058.html
Copyright © 2011-2022 走看看