当前位置: 首页 > 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;
}

相关文章:

  • 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:将视觉-语言-动作模型迁移到通用移动操作
  • 夜读丨什么样的前程值得把春天错过
  • 嫩黑线货物列车脱轨致1名路外人员死亡,3人被采取刑事强制措施
  • 韶关一企业将消防安装工程肢解发包,广东住建厅:罚款逾五万
  • 350种咖啡主题图书集结上海,20家参展书店买书送咖啡
  • 消息人士称泽连斯基已启程前往土耳其
  • 诠释微末处的丰盈:“上海制造佳品汇”首届海外专场即将亮相日本大阪