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

蓝桥杯备考----> 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.dtcms.com/a/89331.html

相关文章:

  • 01LinePlot
  • 【蓝桥杯速成】| 12.回溯排列N皇后
  • leetcode day30 134+135+860
  • 深挖增长内核:好产品驱动增长的全方位解析
  • 深度解析:TOML、XML、YAML及其他配置/数据格式对比
  • 用YoloV8训练一个图片检测的模型,我接下来要做哪些事
  • 《深入Linux内核架构》读书笔记--第三章 内存管理
  • 【含文档+PPT+源码】基于Python的全国景区数据分析以及可视化实现
  • 【例3.5】位数问题(信息学奥赛一本通-1313)
  • BertTokenizer.from_pretrained的讲解和使用
  • golang编写UT:applyFunc和applyMethod区别
  • Oracle数据库服务器地址变更与监听配置修改完整指南
  • websocket结合promise的通信协议
  • 短期趋势动量策略思路
  • Thales靶机攻略
  • 鸿蒙移动应用开发--UI组件布局
  • 批量优化与压缩 PPT,减少 PPT 文件的大小
  • 【CSS3】01-初始CSS + 引入 + 选择器 + div盒子 + 字体修饰
  • Sar: 1靶场渗透
  • MoManipVLA:将视觉-语言-动作模型迁移到通用移动操作
  • 自然语言处理(13:RNN的实现)
  • 接口测试是什么
  • Mininet-topo.py源码解析
  • Linux--环境变量
  • Ubuntu 更换阿里云镜像源图文详细教程
  • Android面试总结之Android RecyclerView:从基础机制到缓存优化
  • 浅尝AI编程工具Trae
  • javascript实现一个函数,将数组中的元素随机打乱顺序
  • 如何用C#继承提升游戏开发效率?Enemy与Boss案例解析
  • 什么是ecovadis认证?ecovadis认证的好处?ecovadis认证的重要意义