zoukankan      html  css  js  c++  java
  • bzoj 3384: [Usaco2004 Nov]Apple Catching 接苹果

    双倍经验题。。。 -->1750

      dp!!

    3384: [Usaco2004 Nov]Apple Catching 接苹果

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 61  Solved: 52
    [Submit][Status][Discuss]

    Description

        很少有人知道奶牛爱吃苹果.农夫约翰的农场上有两棵苹果树(编号为1和2),每一棵树上都长满了苹果.奶牛贝茜无法摘下树上的苹果,所以她只能等待苹果从树上落下.但是,由于苹果掉到地上会摔烂,贝茜必须在半空中接住苹果(没有人爱吃摔烂的苹果).贝茜吃东西很快,所以她接到苹果后仅用几秒钟就能吃完.每一分钟,两棵苹果树其中的一棵会掉落一个苹果.贝茜已经过了足够的训练,只要站在树下就一定能接住这棵树上掉落的苹果.同时,贝茜能够在两棵树之间快速移动(移动时间远少于1分钟),因此当苹果掉落时,她必定站在两棵树其中的一棵下面.此外,奶牛不愿意不停地往返于两棵树之间,因此会错过一些苹果, 苹果每分钟掉落一个,共T(1≤T≤1000)分钟,贝茜最多愿意移动W(I≤w≤30)次.现给
    出每分钟掉落苹果的树的编号,要求判定贝茜能够接住的最多苹果数.开始时贝茜在1号树下.

    Input

        第1行:由空格隔开的两个整数T和W.
        第2到T+1行:1或2(每分钟掉落苹果的树的编号).

    Output

     
        在贝茜移动次数不超过W的前提下她能接到的最多苹果数

    Sample Input

    7 2
    2
    1
    1
    2
    2
    1
    1

    Sample Output

    6

    HINT

      7分钟内共掉落7个苹果一一第1个从第2棵树上掉落,接下来的2个苹果从第1棵树上掉落,再接下来的2个从第2棵树上掉落,最后2个从第1棵树上掉落.   贝茜不移动直到接到从第1棵树上掉落的两个苹果,然后移动到第2棵树下,直到接到从第2棵


    树上掉落的两个苹果,最后移动到第1棵树下,接住最后两个从第1棵树上掉落的苹果.这样贝茜共接住6个苹果.


    Source

    Gold

    #include<cstdio>
    int max(int a,int b){return a>b?a:b;}
    int t,w,dp[1010][33][2],n[1010],ans;
    int main()
    {
        scanf("%d%d",&t,&w);
        for(int i=1;i<=t;i++) scanf("%d",&n[i]);
        for(int i=1;i<=t;i++)
        {
            dp[i][0][0]=dp[i-1][0][0]+(n[i]==1);
            dp[i][0][1]=dp[i-1][0][1]+(n[i]==2);
            for(int j=1;j<=w;j++)
            {
                dp[i][j][0]=max(dp[i-1][j-1][1],dp[i-1][j][0])+(n[i]==1);
                dp[i][j][1]=max(dp[i-1][j-1][0],dp[i-1][j][1])+(n[i]==2);
                ans=max(ans,max(dp[i][j][0],dp[i][j][1]));
            }
        }
        printf("%d",ans);
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    无法重用Linq2Entity Query
    The Joel Test
    MSBuilder directly instead of default VSComplie with keyborad shotcut 原创
    客户端缓存(Client Cache)
    关于代码重构和UT的一些想法,求砖头
    ExtJS2.0实用简明教程 应用ExtJS
    Perl information,doc,module document and FAQ.
    使用 ConTest 进行多线程单元测试 为什么并行测试很困难以及如何使用 ConTest 辅助测试
    史上最简单的Hibernate入门简介
    汽车常识全面介绍 传动系统
  • 原文地址:https://www.cnblogs.com/lkhll/p/5974540.html
Copyright © 2011-2022 走看看