[DP]Apple Catching G

  • 题面
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例
  • 解析

题面

题目描述

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

输入格式

第一行222个数,TTT和WWW。接下来的TTT行,每行一个数,代表在时刻TTT苹果是从111号苹果树还是从222号苹果树上掉下来的。

输出格式

对于每个测试点,输出一行,一个数,为奶牛最多接到的苹果的数量。

样例

输入

7 2
2
1
1
2
2
1
1

输出

6

解析

用Fi,j,kF_{i,j,k}Fi,j,k​表示在iii的时间走了jjj步后在kkk树下的最优值
但因为走jjj步后所在的树是固定的,所以kkk可以不用
可得:
fi,j=max⁡(fi,j,max⁡(fi−1,j−1,fi−1,j+{j≡aimod2}?1:0))f_{i,j}=\max\left(f_{i,j},\max\left(f_{i-1,j-1},f_{i-1,j}+\left\{j\equiv a_i{\mod2}\right\}?1:0\right)\right)fi,j​=max(fi,j​,max(fi−1,j−1​,fi−1,j​+{j≡ai​mod2}?1:0))

[DP]Apple Catching G相关推荐

  1. P2690 [USACO04NOV]Apple Catching G

    P2690 [USACO04NOV]Apple Catching G 题目背景 USACO 题目描述 很少有人知道奶牛爱吃苹果.农夫约翰的农场上有两棵苹果树(编号为1和2), 每一棵树上都长满了苹果. ...

  2. P2690 [USACO04NOV]Apple Catching G 题解

    P2690 题目传送门 这道题很明显是一道DP题,我的做法是用一个三维dp数组 其中 dp[i][j][k] 表示 第i分钟站在j苹果树下移动k次接到最多的苹果数量 很显然,对于第i分钟在第j棵树下有 ...

  3. bzoj 3384: [Usaco2004 Nov]Apple Catching 接苹果(DP)

    3384: [Usaco2004 Nov]Apple Catching 接苹果 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 114  Solved: ...

  4. Apple Catching经典dp

    Apple Catching - POJ 2385 - Virtual Judge 状态:第i分钟移动j次能吃多少个苹果 决策:第i分钟动不动 转移:如果移动,dp[i][j]=dp[i-1][j-1 ...

  5. Apple Catching

    Apple Catching - POJ 2385 - Virtual Judge https://vjudge.net/problem/POJ-2385 题意:有两棵树,每分钟树上会掉下一颗苹果,问 ...

  6. poj 2382 Apple Catching 入门dp

    点击打开链接 #include <iostream> #include <algorithm> using namespace std; const int M =1010; ...

  7. POJ - 2385 Apple Catching (dp)

    题意:有两棵树,标号为1和2,在Tmin内,每分钟都会有一个苹果从其中一棵树上落下,问最多移动M次的情况下(该人可瞬间移动),最多能吃到多少苹果.假设该人一开始在标号为1的树下. 分析: 1.dp[x ...

  8. Apple Catching POJ - 2385(基础的动态规划算法)

    题意: 给你两个数字n和m:代表会有n个苹果掉落,m次可以移动的机会:有两棵树,开始你站在树1下面,一分钟只能移动一次,下面的数值代表在哪一颗树下会掉落苹果:问你在可移动的范围内,最多可以接到多少个苹 ...

  9. POJ 2385 Apple Catching

    题目链接 题意 一共有两个苹果树,每个树会落下苹果,一共会掉下T个苹果,Bessie最初在第一棵树,一共可以移动W次,最多可以接到几个苹果 AC dp dp[ i ][ j ]表示第 i 个苹果在移动 ...

最新文章

  1. cic曲线是什么_贝塞尔曲线基本用法
  2. php5.3源码,php5.3介绍
  3. https ssl 非对称加密
  4. 高速缓存系统之memcache c++使用实例
  5. 配置 VIM 英语字典
  6. 数据结构---前序和中序遍历的二叉树序列还原二叉树
  7. ios 点击出现另外一套tabbar_IOS 点击tabbaritem跳转到一个新界面,且隐藏tabbar
  8. 为什么MySQL索引更适合B+树而不是二叉树、B树
  9. linux 运行iso镜像文件,linux可以加载iso镜像文件到启动项吗
  10. 再次测试用OLW本地的桌面应用撰写博客园博文
  11. Python高级专题 - 类型转换的魔术方法
  12. keil 5(C51)下载安装
  13. 关于软件设计使用中一些的原则简述
  14. 布兰迪斯大学计算机美国大学排名,美国大学排名 布兰迪斯大学排名汇总
  15. 2017、2018年JS面试题记录分享
  16. scikit-learn安装步骤
  17. 【第八届蓝桥杯第七题日期问题】
  18. fullCalendar改造计划之带农历节气节假日的万年历
  19. 使用正则表达式验证手机号格式
  20. 互联网人的乐理基础(二)

热门文章

  1. pytorch dataset自定义_PyTorch | 数据加载及预处理教程
  2. Ant批量打包工具的使用
  3. 【C++】火车站的列车调度
  4. 人工智能基础——全局搜索方法
  5. python爬虫是数据挖掘吗_爬虫属于数据挖掘 python为什么叫爬虫
  6. 4.13nbsp;经济分析
  7. 云宏超融合+英特尔® =?
  8. 文本生成的几种简单方法
  9. abel数值反演的matlab实现,abel变换数值反演的积分算子方法.pdf
  10. 网桥、交换机、路由器等的区别