- 博客(114)
- 收藏
- 关注
原创 差分数组(c++)
顾名思义,就是。这里举个例子:上面一行是原数组,下面一行就是它所对应的差分数组有些题目需要对原数组进行变动,当变动次数多时,可能会出现超时现象。而通过记录差值的方法,只需要变动一些差值,可以更高效地解决问题。大家可能理解不了上面这段话。
2025-12-21 14:59:25
261
原创 2025年6月电子学会5级考题(附答案)(c++)
3.图书馆的书籍分类系统使用二进制标签管理,0 代表儿童读物,1 代表青少年书籍。1.你收集了 n 张卡片,按照收集的时间顺序编号 1 到n 并依次排列,每张卡片上标有一个数值。现在突发奇想,想知道在这些卡片中,若每次挑选两张卡片,会有多少对不同的组合满足两张卡片的数值和恰好为 0,请你计算出符合条件的卡片组合的数量。4.城市商业街主干道是一条笔直的道路,商业街里有 n 家店铺,现给定 n 个店铺的位置,请在这条道路上找到一个中心点,使得所有店铺到这个中心点的距离之和最小,并输出这个最小值。
2025-06-09 20:29:38
557
1
原创 单调栈(c++)
单调栈,就是只有递增或递减的栈。给一个数组,让它们进入单调递减栈的规则是:如果栈为空,直接进入;如果要进入的数小于等于栈顶的数,则直接进入;如果要进入的数大于栈顶的数,就删除栈顶的数,重复直到进入的数小于等于栈顶的数,然后进入。单调递增栈反之。
2025-05-25 16:44:01
417
原创 找银子 题解(c++)
相信标数法你们都学过,因为它很简单,所以这里就不多解释这样写的原因了。首先,这道题乍一看,应该可以用搜索来做。但是,搜索会不会超时间限制呢?
2025-05-11 16:04:42
447
原创 后缀表达式+栈(详解)(c++)
很抱歉,上一期没有介绍栈stack的用法,今天简要介绍一下,再讲讲后缀表达式,用stack栈做一些后缀表达式的练习。
2025-05-09 19:15:37
641
原创 数字统计 题解(c++)
通过分析可知,假如将每100个数视为一个小阶段,比如1-100是个阶段,101-200是个阶段,那么,每个阶段数字的十位都会出现10次“3”.(30、31、32、33、34、35、36、37、38、39)(个位的那个“3”在之前第一步的“看个位”中已经算过,这里不再计算)但是,你一定得发现了,数字12330-12339中的十位出现了10次“3”,所以,1-12345中十位就出现了1230+10=1240次“3”。最后,只要将各个位出现“3”的次数相加,得到答案:4721,问题就解决了!
2025-04-13 02:28:38
972
1
原创 2024年9月电子学会c++2级真题
随后 N 行,每行给出一个物品名称(长度不超过 10 的、由小写英文字母和下划线组成的字符串)和该物品所属的分类(1 代表干垃圾、2 代表湿垃圾、3 代表可回收物、4 代表有害垃圾)。随后一行给出一个由 `0` 和 `1` 组成的长度为 N 的字符串。这个串给出了字母串的生成规则:从第一个字母开始,如果对应的规则串字符是 `0`,则下一个字母应该生成当前字母的大/小写;注意:因为字母表中 `a` 没有前一个字母,`Z` 没有后一个字母,所以如果此时遇到 `1` 就忽略之。在一行中输出按规则生成的字母串。
2025-03-23 16:44:13
898
原创 往年5级考题 2(c++)
给定一个正整数N,求最小的M满足比N大且M与N的二进制表示中有相同数目的1。举个例子,假如给定N为78,二进制表示为1001110,包含4个1,那么最小的比N大的并且二进制表示中只包含4个1的数是83,其二进制是1010011,因此83就是答案。
2025-03-02 00:29:04
260
原创 往年5级考题(c++)
例如: X=2,Y=4,M=7,2号和4号有毒气泄露,避开2号和4号毒气密室,进入7号密室有2种路线方案,分别是1->3->5->6->7路线和1->3->5->7路线。当然,这个塔的高度,就是塔中所有奶牛的身高之和。迷宫是一个边长为m的正方形,其中"S"表示你所在的位置,"E"表示迷宫出口,"."是可以随意走动的区域,"#"是不可穿行的墙壁,每次你可以耗费1分钟在区域间移动(上下左右四个方向)。显然,塔中的奶牛数目越多,整座塔就越不稳定,于是奶牛们希望在能够到书架顶的前提下,让塔中奶牛的数目尽量少。
2025-02-14 19:18:02
917
原创 广度优先搜索(广搜)4(c++)
这题是一个三维的迷宫题目,其中用‘.’表示空地,‘#’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了东南西北移动外还多了上下。可以上下左右前后移动,每次都只能移到相邻的空位,每次需要花费一分钟,求从起点到终点最少要多久。
2025-02-13 15:00:08
844
原创 广度优先搜索(广搜)3(c++)
有一个仅由数字 0 与 1 组成的n*n 格迷宫。若你位于一格 0 上,那么你可以移 动到相邻 4 格中的某一格 1 上,同样若你位于一格 1 上,那么你可以移动到相 邻 4 格中的某一格 0 上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自 身)。
2025-02-12 15:42:34
227
原创 广度优先搜索(广搜)2(c++)
因 此,他增加了一条规则,马既能按“日”走,也能和象一样走“田”字,神奇的 马!他的同桌看到了这个规则,觉得确实很有意思,就想试一试,在一个 (100×100)的围棋盘上任选两点 A,B. A 点放上黑子,B 点放上白子, 代表两匹马。棋子可以按“日”字走,也可以按“田”字走,俩人一个走黑马, 一个走白马。现在他请你帮 忙,给你 A,B两点的坐标,想知道两个位置到 (1,1) 点可能的最少步数。这天,小X来到了游泳池,发现游泳池可以用N行M列的格子来表示,每个格子的面积都是1,且格子内水深相同。
2025-02-11 20:01:24
522
1
原创 分治算法——二分查找(c++)(详解)
分治算法,大概就是将一个大问题拆解成若干个小问题,将小问题一一解决,大问题也就迎刃而解。它包含了多种算法,比如递归递推等。二分查找算法。2.二分查找算法介绍二分查找算法适用范围、优点二分查找算法,适用于在有序数组中寻找某个数,其时间复杂度较正常的顺序查找而言大大减小,从O(n)的效率提高到了O(log n)。如:要在100个数中查询一个数,在最坏的情况下,顺序查找需要循环100次,而二分查找只需要循环不到10次。
2024-12-01 21:59:24
667
原创 深搜复习(c++)
这天,小明来到了游泳池,发现游泳池可以用N行M列的格子来表示,每个格子的面积都是1,且格子内水深相同。为此,他把整个游泳池看成若干片区域,如果两个格子相邻(上下左右四个方向)且水深相同,他就认为它们属于同一片区域.小X想知道最大的一片区域面积是多少,希望你帮帮他。字符'.'表示空地,'#'表示墙,'S'表示起点'T'表示出口。假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。(1≤N,M≤100)接下来N行,每行包含M个 1到9的数字,表示每个格子的水深。
2024-11-17 15:31:57
648
原创 2021 CCF 非专业级别软件能力认证第一轮(CSP-J1)入门级C++语言试题 (第三大题:完善程序 代码)
有n个人围成一个圈,依次标号0到n-1。从0号开始,依次0,1,0,1... 交替报数,报到一的人离开,直至圈中剩最后一个人。求最后剩下的人的编号。平面上有n个关键点,求有多少个四边形都和x轴或y轴平行的矩形,满足四个顶点都是关键点。给出的关键点可能重复,但完全重合的矩形只计一次。最近有一段时间没更新了,在准备CSP考试,请大家见谅。
2024-09-01 17:29:20
572
1
原创 回溯算法2(c++)
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 k个棋子的所有可行的摆放方案。
2024-06-17 13:23:48
278
原创 深度搜索算法3(c++)
农夫约翰总是想要一个农场的地图,所以他拍摄了一张N行M列的卫星照片。一部分的照片看起来像这样: 他认为每个联通块都是一个谷仓或一头奶牛。农夫约翰认为一个联通块是谷仓,当且仅当它是一个完整的矩形,否则该联通块是一头奶牛。在下面的照片中,有三个谷仓(大小分别为2x1,2x5和1x1)和两头奶牛。计算他的卫星照片中谷仓和奶牛的数量。行2..N + 1:行i + 1表示照片的行i包含M个字 符(且不含空格)。行1:两个空格分隔的整数:N和M。行1:照片中的谷仓数量。行2:照片中的奶牛数量。
2024-06-08 19:23:23
567
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅