zoukankan      html  css  js  c++  java
  • dp --- CSU 1547: Rectangle

     Rectangle

    Problem's Link:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1547


    Mean: 

    给你一些宽为1或2 的木板,让你放在一个宽为二的盒子里面,问你这个盒子最短有多长。

    analyse:

    简单dp,一开始想错了。

    Time complexity: O(n)

    Source code: 

    //  Memory   Time
    //  1347K     0MS
    //   by : crazyacking
    //   2015-03-29-22.02
    #include<map>
    #include<queue>
    #include<stack>
    #include<cmath>
    #include<cstdio>
    #include<vector>
    #include<string>
    #include<cstdlib>
    #include<cstring>
    #include<climits>
    #include<iostream>
    #include<algorithm>
    #define MAXN 10005
    #define LL long long
    using namespace std;
    int Cas,n,dp[MAXN];
    int main(){
        cin>>Cas;
        while(Cas--)
        {
            int cnt = 0 ,sum=0;
            scanf("%d",&n);
            int ta, tb; 
            memset(dp,0,sizeof dp);
            dp[0] = 1;
            int csum = 0 ; 
            for(int i = 1;i <= n; i ++)
            {
               scanf("%d %d",&ta,&tb);
               
              if(ta == 2 )
                  sum += tb;
              else{
                 csum += tb ;
                 for(int i = csum;i >= 0 ;i -- )
                 {
                   if(dp[i] != 0 )
                   {
                      dp[i+tb] = 1; 
                   }
                 }
              }
            }
            for(int i = csum /2 ;i >= 0 ;i--)
            {
              if(dp[i] != 0 )
              {
                 sum += max(i,csum-i);
                 break;
              }
            }
            printf("%d
    ",sum);
                 
        }
    return 0;
    }
    View Code
  • 相关阅读:
    UML 基础: 组件图
    如何绘制 UML 活动图
    JVM简介
    【转】Adapter 模式
    用例建模技巧
    【转】JVM内存模型以及垃圾回收
    从UML到BPEL
    用例建模指南
    关于 Assigned
    符号和基本语法
  • 原文地址:https://www.cnblogs.com/crazyacking/p/4376524.html
Copyright © 2011-2022 走看看