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

洛谷P1044 栈(学习向)

题面描述

P1044 [NOIP 2003 普及组] 栈 - 洛谷

解析

题解:P1044 [NOIP 2003 普及组] 栈 - 洛谷专栏

我采用的是上面这篇,这是dp的思路做法,当然也可以用dfs求解。

但是,dp身为职业选手和算法水赛混子的分水岭,这里的dp我就看不懂了

于是我画了张图去理解它(没错,写这篇其实我是想存我的杰作)

天赋树点不上了,那就学可视化吧!

通过画图,我也才理解到了这个dp公式的核心要义:

1.当x,y都不为0时

f(x,y)=f(x-1,y+1)+f(x,y)

这个的意思就是,当前的情况等于出栈一个数的情况和入栈一个数的情况之和。

2.当x为0时

f(x,y)=1

不论你的顺序是什么,也不论y等于几,也就是不论当前栈有多少个数,他的出栈顺序唯一。因为你的等待区已经没有数了。

3.当y为0且x不为0时

f(x,y)=f(x-1,y+1)

当前栈中没有元素,等待区还有x个元素,那么你只能做到把等待区的一个数压进来。

画图理解法万岁!(补药学算法,太难啦)

http://www.dtcms.com/a/271558.html

相关文章:

  • Unity Demo-3DFarm详解-其一
  • TCP协议格式与连接释放
  • 智能Agent场景实战指南 Day 8:销售助手Agent开发实战
  • 25春云曦期末考复现
  • “上下文工程”领域的部分参考资料
  • vue中v-for与v-if的优先级
  • 在已有 Nexus3 的基础上搭建 Docker 私有镜像仓库
  • 如何降低AIGC的有效策略是什么?降AIGC工具的创新与应用前景
  • 如何识别SQL Server中需要添加索引的查询
  • 3 STM32单片机-delay延时驱动
  • langchain从入门到精通(四十)——函数调用技巧与流程
  • 什么是公链?
  • 如何通过配置gitee实现Claude Code的版本管理
  • huggingface 笔记: Trainer
  • 期权盘位是什么意思?
  • 一级缓存与二级缓存深度剖析:作用域、配置与同步方案全解析
  • Unreal Engine 自动设置图像
  • 基于OpenCV的实时人脸检测系统实现指南 ——Python+Haar级联分类器从环境搭建到完整部署
  • 【PTA数据结构 | C语言版】线性表循环右移
  • AI进化论03:达特茅斯会议——AI的“开宗立派”大会
  • 【王阳明代数讲义】心气微积分西方体系汇流历史考述
  • Agent AI(1):多模态交互智能中的背景和动机
  • 2025快手创作者中心发布视频python实现
  • 各类电子设备镜像格式及文件系统统计
  • ETF期权交割日全攻略
  • Linux的 `test`命令(或等价中括号写法 `[空格expression空格]`)的用法详解. 笔记250709
  • 遍历map(LinkedHashMap)
  • 52 spi接口两笔读写耗时多大的问题
  • AP中的Execution Manager“非报告进程”和“伴随进程”概念解析
  • n8n文本语意识别与问题自动补充工作流的深化及企业级部署