当前位置: 首页 > article >正文

蓝桥杯备考----> Apple Catching G(线性DP)

每分钟都掉一个苹果,可能是在1树也可能在2树,移动次数有限,我们可以用线性dp来做

又因为我们知道了初始位置是树1,那说明我们移动1次是到2,移动2次是到1,移动3次再到2,也就是说移动奇数次就是到2,移动偶数次就是到1

好,我们按照动态规划的步骤来想一下

step1:定义状态表示 f[i][j]表示,表示的是在移动j次接到的苹果数量

step2:推导状态转移方程

        

step3:初始化 

全部初始化为0就行

实现代码:👇

 

#include <iostream>
using namespace std;
const int N = 1010;
int t,w;
int f[N][N];
int a[N];
int main()
{
	cin >> t >> w;
	for(int i = 1;i<=t;i++)
	{
		cin >> a[i];
	}
	
	for(int i = 1;i<=t;i++)
	{
		for(int j = 0;j<=w;j++)
		{
			int c = 0;
			if((j%2==0 && a[i]==1) || (j%2==1) && a[i]==2) c= 1;
			f[i][j] = f[i-1][j]+c;
			if(j)
			{
				f[i][j] = max(f[i][j],f[i-1][j-1]+c);
			}
		}
	}
	int ret = 0;
	for(int j=0;j<=w;j++)
	{
		ret = max(ret,f[t][j]);
	}
	cout << ret << endl;
	return 0;
}


http://www.kler.cn/a/601099.html

相关文章:

  • Java IO框架体系深度解析:从四基类到设计模式实践
  • PostgreSQL 连接数超限问题
  • Java运行时的堆、栈和方法区
  • Rust从入门到精通之精通篇:21.高级内存管理
  • HCIP 学习第一次笔记
  • 辉视智慧月子中心:爱与科技共筑母婴温馨港湾
  • PostgreSQL:索引与查询优化
  • 建立虚拟用户的账号数据库并为vsftpd服务器添加虚拟用户支持的脚本
  • k8s存储介绍(三)valume概述与emptydir
  • Unity知识点快速回顾系列
  • 热门面试题第14天|Leetcode 513找树左下角的值 112 113 路径总和 105 106 从中序与后序遍历序列构造二叉树 (及其扩展形式)以一敌二
  • 【MySQL | 六、索引特性(进一步理解)】
  • 【零基础JavaScript入门 | Day7】三大交互案例深度解析|从DOM操作到组件化开发
  • 仅靠prompt,Agent难以自救
  • 【Pandas】pandas Series to_pickle
  • Axure设计之中继器表格——拖动行排序教程(中继器)
  • 1.基于TCP的简单套接字服务器实现
  • 【SOC 芯片设计 DFT 学习专栏 -- IDDQ 测试 与 Burn-In 测试】
  • 【数据结构初阶八大排序】---冒泡、选择、插入、希尔、堆排、快排、归并、计数
  • 数据库索引相关的面试题以及答案