- 2024-11-18九、栈
一、概念栈是仅限在表尾进行插入和删除的线性表,遵循后进先出的原则。可以比作一堆盘子,只能访问顶部的盘子,而添加和删除只能在顶部进行。栈常用于实现函数调用、递归、表达式求值等操作,一般用 顺序表 或者 链表 来实现栈。二、入栈1、概念栈元素的插入操作叫做入栈
- 2024-11-102024-2025-1 20241314 《计算机基础与程序设计》第七周学习总结
2024-2025-120241314《计算机基础与程序设计》第七周学习总结作业信息这个作业属于哪个课程<班级的链接>2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第七周作业这个作业的目标数组与链表基于数组和基于链表实现数据
- 2024-11-08重温c语言之,7天开整,就是随便的写写,第八天
一:函数1、递归题目:求n的阶乘(不考虑溢出)上代码1#include<stdio.h>2intfactorial(intn){3if(n>1){4returnn*(factorial(n-1));5}6else7{8return1;9}10}11#include<stdio.h>12in
- 2024-10-1820241018每日一题洛谷P2386
普及每日一题信息学竞赛1206:放苹果把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1是同一种分法。第一行是测试数据的数目t(0<=t<=20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。对输入的每组数据M和N,用一行输出相
- 2024-10-09弹珠 题解
题意求\(n\)个一样的球放到\(k\)个盘子里的方案数(每个盘子至少一个)。题解考虑记\(f(i,j)\)为结果。我们可以一次性只加一个球(新放到一个盘子里),也就是可以从\(f(i-1,j-1)\)转移过来。也可以用已有的盘子每个盘子放一个球,就是从\(f(i-j,j)\)转移过来。为
- 2024-09-27剪枝的应用,bfs判重 蚱蜢跳——蓝桥p642
**问题描述总共有九个盘子,八只蚱蜢,且每个盘子中只能容下一只蚱蜢,蚱蜢的编号为1~8,如果蚱蜢所在的盘子紧邻着空盘子,那么该蚱蜢可以从自己的盘子跳到空盘子中,也可以隔一个盘子跳到空盘子中,问一开始状态是012345678,蚱蜢至少该跳多少步才可以被变为087654321**输入无**输出蚱蜢跳
- 2024-09-02理想雪 - 就是为了来见你
写在前面4002字|陪伴|亲密关系|患难与共《理想雪》系列故事均为架空世界观,所有人名、地名等与现实世界无任何关联。该系列只且仅只为了说明,小说作者在该情境下会诞生的想法和采取的行动,以及背后的世界观、价值观和人生观。因此将具有强烈的个人风格。未
- 2024-08-30汉诺塔和递归
目录需求背景、限制条件、化简模拟盘子的移动步骤递归实现Code分析练习1需求背景、限制条件、化简汉诺塔就是一个由柱子和盘子组成的玩具,它有一些玩法上的限制,主要是规定了盘子移动有限制。想理解到递归本质,汉诺塔是个不错的载体。怎么体会?在盘子移动的过程中。#盘子的
- 2024-08-08递归解决汉诺塔问题-个人见解(java)
这里不提供题目汉诺塔问题是很多新手遇到的第一个难题,也许并不难,但是对于本人这种麻瓜来说第一次还是很难理解的,其中的思考过程一度让我崩溃不过也不是不能理解的,需要比较长的时间网络中有许多讲解视频,但是都大同小异,似乎都不是讲给麻瓜的,也可能是我们麻瓜太笨了,不过终究还是能
- 2024-08-07程序设计部分 函数的递归 第4关:使用递归进行自动分析
任务描述本关任务:计算逆波兰表达式的值。相关知识放苹果问题把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?注意:5,1,1和1,5,1是同一种分法。我们可以先假设有一个函数count(m,n)能告诉我们m个苹果放n个盘子有多少种放法,然后在此基础上进行
- 2024-05-08at_dp_j-ti-jie
AT_dp_j思路期望dp。设$dp_{i,j,k,l}$表示当前有$0,1,2,3$个寿司的盘子数有$i,j,k,l$个时的期望次数。显然MLE。但可以发现$i+j+k+l=n$,所以可以去掉一维。设$dp_{i,j,k}$表示当前有$1,2,3$个寿司的盘子数有$i,j,k$个时的期望次数。首先有$dp_{0,0,0}=0$。
- 2024-04-09PTA-汉诺塔Ⅱ
经典的汉诺塔问题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。
- 2024-03-29用C语言实现汉诺塔游戏
汉诺塔游戏。游戏目标是将A柱子上的盘子移动到C柱子上,且每次小的盘子要放在大的盘子上面。如只有一个盘子则直接移至C柱子。以如图所示为例子。3个盘子要移动至C柱子,具体步骤为:A到C,A到B,C到B,A到C,B到A,B到C,A到C。总共7步。也就是先把A柱子两个盘子(n-1)通过C柱子移
- 2024-03-16P3242 [HNOI2015] 接水果 抽象做法
好吧好吧,自己做出来的第一道整体二分。省流:理解能力比较强的话直接拖到最后看算法流程吧。下面我们称输入时盘子的权值为“盘子的大小”,与文中使用的算法给盘子的赋权区分开。一堆询问第\(k_i\)小,考虑整体二分。先考虑外部过程。上整体二分板子,每次二分\(mid\),形象地把盘
- 2024-03-09数学
组合数学\(A_n^m=\frac{n!}{(n-m)!}\)表示在\(n\)个不同的元素中选出\(m\)个元素的排列数\(C_n^m=\frac{A_n^m}{m!}=\frac{n!}{m!(n-m)!}\)表示在\(n\)个不同的元素中选出\(m\)个元素的方案数二项式定理:\((a+b)^n=\sumC_n^ia^ib^{n-i}\),\(2^n=\sumC_n^i\)扩展:
- 2024-01-12AT_arc105_d
分析注意到本题在放完盘子之后就是一个简单的Nim问题,所以考虑每个背包会放到哪个盘子。由于放完盘后谁执先手与\(n\)的奇偶性有关,于是分类讨论。如果\(n\)是奇数,放完后后手先取硬币,他肯定会尽量让异或和不为\(0\)(Nim的玩法),那么他有一个必胜策略:不管先手取哪个背包,他先取
- 2024-01-02【LeetCode】2055. 蜡烛之间的盘子
一、题目描述给你一个长桌子,桌子上盘子和蜡烛排成一列。给你一个下标从0开始的字符串s,它只包含字符'*'和'|',其中'*'表示一个盘子,'|'表示一支蜡烛。同时给你一个下标从0开始的二维整数数组queries,其中queries[i]=[lefti,righti]表示子字符串s[lefti...rig
- 2023-12-25函数的递归和迭代
我们学习函数递归和迭代往往需要掌握许多的数学规律,公式定律,下面我们通过两个递归,迭代相关的经典例题来了解递归和迭代的思想。今天的主角是我们的汉诺塔和青蛙跳台阶。(1)汉诺塔:相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),
- 2023-12-01汉诺塔(面试)
汉诺塔(递归算法)在经典汉诺塔问题中,有3根柱子及N个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1)每次只能移动一个盘子;(2)盘子只能从柱子顶端滑出移到下
- 2023-11-23CF1474F
感谢_lgswdn大佬的耐心讲解,让我学了这题\(O(n^3)\)的高妙做法(数据范围可以加个零)此题解主要为_lgswdn题解的具体阐释以及帮作者理清思路开始写题。首先把原图压缩一下,如何相邻两端都是上升/下降,就将它们合并,这样可以把原图变成一上一下的特殊形状方便分析。将原图分层
- 2023-11-23组合数学(苹果盘子问题)
初赛题目中往往会出现将多少东西(相同或者不同),分到一些容器(相同或者不同)中,允许或者不允许空的问题,这里我们就统一总结一下。本篇博客中,物品统一称为苹果,容器统一称为盘子,因而得名为苹果盘子问题。1.苹果相同,盘子不同,不允许空思路:既然苹果是相同的,盘子是不同的,那么实际上我们的问
- 2023-11-12rust 程序设计笔记(2)所有权 & 引用
所有权数据存储在栈和堆上,存放在栈上的数据都是已知所占据空间的突然的问题//内存中的栈是怎么存储数据的?好的,想象一下你有一摞盘子。你只能从上面放盘子,也只能从上面拿盘子,这就是栈的工作方式。在内存中,栈是用来存储数据的地方,它工作得就像这摞盘子。当你的程序运行
- 2023-11-06[ARC105D] Let's Play Nim 题解
题意给定\(N\)个背包,其中第\(i\)个背包中有\(a_i\)个石子。同时还有\(N\)个盘子,初始时盘子中没有石子。两人轮流执行下列操作:若存在背包中还有石子,选择一个非空背包和盘子,将背包中的石子放入盘子中,注意这里对盘子没有要求;若不存在背包中还有石子,选择一个非空盘子,将盘
- 2023-10-27题解 P4285 [SHOI2008] 汉诺塔
具体思路设\(f_{i,x}\)表示\(i\)个盘子从\(x\)柱子出发的步数。设\(g_{i,x}\)表示\(i\)个盘子从\(x\)柱子出发到哪个柱子。记\(y=g_{i-1,x}\),\(z=6-x-y\)。其中,\(y\)代表将前\(i-1\)个盘子从\(x\)柱子移到的柱子,\(z\)代表剩下的那个柱子。分类讨论。若
- 2023-10-13潍坊一中 2023 秋提高级友好学校赛前联测 1 T3
Mystia的居酒屋题目背景小麻雀Mystia开了一间居酒屋,每天清晨她都要跨过门前的河流去收集食材。题目描述Mystia想搭一座跨过河的桥,来方便她取得食材。河是一条无限长的宽度为\(W\)的直线,所有在坐标系中符合\(0≤y≤W\)的点都属于这条河流。河面上有\(N\)个木桩,附