自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 闯关取宝藏(DFS)

小琳在一个独特的游戏地图里,地图呈有根树结构,由n个关卡组成,起始关卡编号为1,小琳初始就在关卡1。地图每个最终关卡都有一个宝藏。部分关卡设有陷阱,若从有宝藏的关卡到起始关卡路径中,连续含陷阱的关卡超过m个,小琳就拿不到该宝藏。已知哪些关卡有陷阱,求小琳能拿到的宝藏数量。第一行包含两个整数n和m2≤n≤10e51≤m≤n),分别代表游戏地图关卡数和小琳能容忍的连续含陷阱关卡数。第二行包含n个整数,其中每个ai要么等于0(关卡i。

2026-03-25 22:22:04 402

原创 畅通工程cccccccc

随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。注意:两个城市之间可以有多条道路相通,也就是说 3 3 1 2 1 2 2 1 这种输入也是合法的 当N为0时,输入结束,该用例不被处理。某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。给指定矩阵,由.和w组成,求w能组成的极大连通图个数,可以斜着(也就是八个方向)。

2026-03-24 18:45:14 237

原创 迪杰斯特拉

每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几条路。接下来M行,每行包括3个整数A,B,C(1<=A,B<=N,1<=C<=1000),表示在路口A与路口B之间有一条路,我们的工作人员需要C分钟的时间走过这条路。第一行包含三个整数 n,m,s,分别表示点的个数、有向边的个数、出发点的编号。接下来 m 行每行包含三个整数 u,v,w,表示一条 u→v 的,长度为 w 的边。

2026-03-24 18:45:02 241

原创 淘金(中南大学)

在一片n*m的土地上,每一块1*1的区域里都有一定数量的金子。这一天,你到这里来淘金,然而当地人告诉你,如果你挖了某一区域的金子,上一行,下一行,左边,右边的金子你都不能被允许挖了。那么问题来了:你最多能淘金多少?对于每组数据,第一行两个数n,m,表示土地的长和宽(1<=n,m<=200) 接下来n行,每行m个数,表示每个区域的金子数量,每个区域的金子数量不超过1000。输入三个整数(并且三个整数是合理的,既比如当输入月份的时候应该在1 至12 之间, 不应该超过这个范围)否则输出Input error!

2026-03-24 18:44:44 242

原创 最小生成树

随后的 N 行对应村庄间道路的成本,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间道路的成本(也是正整数)。n 表示图的顶点数目,m 表示图中边的数目。随后有 m 行数据,每行有两个值 x 和 y(0<x, y <=n),表示顶点 x 和 y 相连,顶点的编号从 1 开始计算。接下来 M 行每行包含三个整数 Xi,Yi,Zi ,表示有一条长度为 Zi 的无向边连接结点 Xi,Yi 1≤N≤5000,1≤M≤2×10^5。对于每组输入数据,如果所有顶点都是连通的,输出"YES",否则输出"NO"。

2026-03-21 16:01:10 208

原创 并查集(图论)

若某个家族人员过于庞大,要判断两个人是否是亲戚,确实不容易。规定:$x$ 和 $y$ 是亲戚,$y$ 和 $z$ 是亲戚,那么 $x$ 和 $z$ 也是亲戚。也就是亲戚关系具有传递性。给你 $n$ 个人(编号从 1 到 $n$),$m$ 对亲戚关系,以及 $p$ 个亲戚关系询问。第一行:三个整数 $n, m, p$。接下来 $m$ 行:每行两个整数 $M_i, M_j$,表示 $M_i$ 和 $M_j$ 具有亲戚关系。

2026-03-21 15:08:29 258

原创 骑车路线(DP)

Tomislav最近发现自己的身材完全走样了,她走楼梯都变得很累。一天早上她起来以后,她决定恢复姣好的身材。她最喜欢的运动是骑自行车,因此她决定在本地的小山上做一次旅行。她骑自行车的路线可以描述为N个数字的数列,每个数字表示每一段路地海拔高度。Tomislav最感兴趣的是最长的高度一直上升的子序列,她称这一段路为爬坡,Tomislav只想考虑这段爬坡的高度差(即开始和最后的数字的差距),而不是什么路程长度。一段爬坡路被定义为至少两个连续的上升数列。

2026-03-20 16:08:22 238

原创 最长公共子序列

给出两个字符串序列,求最长公共子序列(LCS)。(改编版,原题规定两字符串长度相等,且无重复元素。

2026-03-19 22:58:10 330

原创 最大连续子序列

最大连续子序列是所有连续子序列中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, -5, -2 } ,其最大连续子序列为{ 11, -4, 13 } ,最大和为20。最大连续子序列是所有连续子序列中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和为20。对每个测试用例, 在 1 行里输出最大和、 最大连续子序列的第一个和最后一个元素的下标,中间用空格分隔。浙江大学/中国矿业大学/暨南大学机试题。

2026-03-19 22:42:51 344

原创 进击的巨人(DP?)

巨人国的小学生放假了,老师要给小朋友们排队了。可是这个老师有强迫症,一定要路队上的小朋友按照身高从高到矮排序(也就是排在前面的不能比后面的矮)。小朋友呢也很调皮,一旦老师给他排好队就不愿意动了。这个时候小朋友们一个一个的从教室里出来了,每个小朋友一出来老师就要给小朋友安排好位置。对于每组数据,第一行两个数n,表示小朋友总数量(1<=n<=100000) 第二行n个整数,表示小朋友身高,身高不超过30000。最少要排两条路队,其中一种方案是398-207-155-65 和 300-299-170-158。

2026-03-19 11:40:13 59

原创 LIS(上升序列)

比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。注意,最长的上升子序列的和不一定是最大的,比如序列(100, 1, 2, 3)的最大上升子序列和为100,而最长上升子序列为(1, 2, 3)。输入的第一行是一个整数N(2 <= N <= 100),表示同学的总数。每组输入有两行, 第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25), 第二行,输入k个正整数,表示k枚导弹的高度,按来袭导弹的袭击时间顺序给出,以空格分隔。

2026-03-18 23:37:28 409

原创 DP类(动态规划)

给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和为20。给出一个整数序列S,其中有N个数,定义其中一个非空连续子序列T中所有数的和为T的“序列和”。输入n个整数的序列,求它的最大子串和,并输出对应的数。输出题目要求的答案。

2026-03-18 16:13:34 385

原创 DFS(深搜)

这个公司在一个时刻调查一个矩形区域,并且创建成一个个的格子用来表示众多正方形块。一块有石油小区域被称为一个pocket,假设两个pocket是相邻的,然后他们就是相同石油块的一部分,石油块可能非常的大并且包涵很多的pocket。*代表没有石油,@代表存在石油。每个网格都以包含m和n的行开始,网格中的行和列数为m和n,以单个空格分隔。每个字符对应一个情节,要么是代表没有油的“ *”,要么是代表油囊的“ @”。在水平,垂直或对角线上都算作相邻,输出每种情况下石油块的个数。中国科学院大学2021年机试题。

2026-03-17 20:37:21 347

原创 迷宫问题(图论)

两个for循环读入地图。:看到'S'立刻把坐标记下来,顺手把dist数组全部刷成-1(清空案发现场)。:建队列,把起点塞进去。:千万别忘了。起跑前必须给起点挂上 0 步的牌子!while循环里套一个 4 次的for循环(利用dx, dy数组)。:极其严密的“四重防弹衣”——nx, ny不能越界、不能撞墙 ()、不能去过 (dist!= -1一旦发现'E',立刻记录步数并强行刹车(break:输出答案。没找到就老老实实输出-1。

2026-03-17 16:22:43 427

原创 生化武器(BFS)

在一个封闭的房间里,gogo给大家表演了他的屁遁术,人果然一下没影了,但是他留下的“生化武器”,却以每秒1米的速度向上下左右扩散出去。有多组测试数据 第一行输入n,m,t(0<n,m<=30) n和m表示图的行和列,t表示时间 ,‘*’为表演的地点,‘X’是墙,‘.’为空白的地方。如果在t秒时间内毒气没有充满房间或刚好充满,输出现在房间里的情况,‘#’表示有‘毒气’的地方 否则,输出“No” 每组数据输出后有一个空行。

2026-03-16 23:16:39 58

原创 前缀字符串(中山大学机试题)

如果一个字符串s1是由另一个字符串s2的前面部分连续字符组成的,那么我们就说s1就是s2的前缀。比如“ac”是“acm”的前缀,“abcd”是“abcddfasf”的前缀,特别的“kdfa”是“kdfa”的前缀。现在给你一些字符串,你的任务就是从这些字符串中找出一些字符串放到一个集合中,使得这个集合中任意一个字符串不是其他字符串的前缀,并且要使集合里的字符串尽可能的多。输出这个集合中字符串的个数。每组测试数据以一个整数n开头,随后有n个字符串。每组测试数据输出一个整数,即所求的最大值。

2026-03-16 20:48:12 68

原创 二叉树的最短路径长度(BFS+DFS)

已解决。

2026-03-16 20:42:41 81

原创 差分计数,hash算法

有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树。若干行输入,每行两个数字B[i],E[i](0<=B[i]<=E[i]<=200000)表示这次刷的墙壁是哪一段 (假设每次刷的时候油漆颜色都和之前的不同),以0 0结束 又若干行输入,每行两个数字begin[i],end[i](0<=begin[i]<=end[i]<=200000)表示小诺询问的段, 以0 0结束。

2026-03-15 23:44:22 308

原创 完全二叉树的判定(中南大学机试习题)

先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树的二叉链表存储结构。当接收的数据是字符"#"时表示该结点不需要创建,否则创建该结点。需要注意输入数据序列中的"#"字符和非"#"字符的序列及个数关系,这会最终决定创建的二叉树的形态。输入为接受键盘输入的由大写英文字符和"#"字符构成的一个字符串(用于创建对应的二叉树)。对应的二叉树是否为完全二叉树的判断结果。若是输出"Y",否则输出"N"。

2026-03-15 21:20:40 58

原创 二叉树(中南大学)

查看题解查看答案。

2026-03-15 21:19:27 362

原创 二叉树(北京邮电大学)

二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树;后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。每种遍历结果输出一行。输入样例可能有多组,对于每组测试样例, 输出一行,为后序遍历的字符串。输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。

2026-03-15 15:58:39 361

原创 字符串表达式运算(西安交通大学机试题)

给一个字符串,例-6+11+23-6,输出结果。这个很简单,只有加减运算,没有乘除。

2026-03-15 15:11:02 56

原创 合并果子/哈夫曼编码

相反,如果我们用位模式“ 00”编码“ A”,用“ 01”编码“ B”,用“ 10”编码“ C”,用“ 11”编码“ D”,那么我们只能用16位编码该文本。最佳编码是用“ 0”编码“ A”,用“ 10”编码“ B”,用“ 110”编码“ C”,用“ 111”编码“ D”。一种这样的最佳编码是使用“ 00”,“ A”和“ 100”,“ C”和“ 1110”,“ E”和“ 1111”,“ H”和“ 110”,“ I”和“ 1010”,“ N”和“ 1011”以及“ T”和“ 01”。

2026-03-13 15:48:40 412

原创 质因数个数(数学类)

对于给定的字符序列,从左至右将所有的数字字符取出拼接成一个无符号整数(字符序列长度小于100,拼接出的整数小于2^31,),计算并输出该整数的最大素因子(如果是素数,则其最大因子为自身)在二维平面 上,已知点 和 ,其中 ,以及 个点 ,满足 ,,,且点 和点 不相同。对每个字符序列,取出所得整数的最大素因子,若字符序列中没有数字或者找出的整数为0,则输出0,每个整数占一行输出。有多组数据,输入数据的第一行为一个正整数,表示字符序列的数目,每组数据为一行字符序列。浙江工商大学2023年机试题。

2026-03-13 15:42:56 364

原创 栈栈栈栈栈栈栈栈栈栈栈栈栈栈栈栈栈栈栈栈栈栈

依次读入序列元素1,2,...,n进栈,每进一个元素,机器可要求下一个元素进栈或弹栈,如此进行。给定一个输入序列,判断栈空时弹出的元素构成的序列是否可能等于给定的序列,如果是则输出栈的操作过程,否则输出“NO”。小诺现有a-z 26个小球模拟出入栈操作,小球按照a~z的顺序压入栈,在栈顶的元素可以随时被取出,在游戏开始前给出任意26个字母的一些排列,问是否能够由出栈顺序得到这个排列。输入分两行 第一行为n的值(即序列元素个数) 第二行为给定的输入序列(序列元素均为整型)北京大学2024年机试题。

2026-03-12 21:17:16 594

原创 括号匹配大全(栈斗爽)

例如,{[()]},{()},{{}}为一个合法的表达式,而([{}]),{([])},[{<>}]都是非法的。算法思想: 括号匹配是典型的栈的应用,因此可以采用链栈,思路如下: (1)第一次遍历输入字符串, 1.是左括号,则入栈,同时标记数组的相应位置置空格 2.是右括号,则检测栈是否为空,不为空,则判断有对应的左括号,同时出栈;2.是左括号,则检测栈是否为空,不为空,则判断有对应的右括号,同时出栈;输入只包含’<’,’(’,’{’,’[’,’>’,’)’,’}’,’]'的字符串(长度不超过10000)

2026-03-12 17:34:25 614

原创 最短距离&数楼梯

对于每个样例, 第一行包含四个整数 x1,y1,x2,y2,表示人的起点(x1,y1),(x2,y2)。第二行是四个整数u1,v1,u2,v2,表示人的初始速度(u1,v1),(u2,v2)(分别为x轴和y轴方向的分速度)。T <= 1000 , x1,y1,x2,y2,u1,v1,u2,v2的绝对值不大于1000。小王和小明是好朋友,两人最开始各有一个初始位置 p 和一个恒定速度 v,从0时刻起开始,他们从初始位置以恒定速度开始行走,请告诉我行走过程中两人的最短距离是多少。对于每个样例,输出一行。

2026-03-11 18:51:15 276

原创 大整数加法VS大整数乘法

在一些应用中,特别是现在的密码学中,常常需要用超过100位的整数来做乘法,以此来对数据加密。现在有两个小于等于100位的大整数a和b(位数相同),请写程序计算出这两个大整数乘积的结果。输入有三行 第一行是大整数位数 第一个大整数 第二个大整数。多组数据输入 两个大整数(位数不超过1000)写程序求两个相同位数的大整数之和。

2026-03-11 17:59:05 306

原创 梅森素数VS是(四)素数

所谓梅森数,是指形如2^p-1的一类数,其中指数p是素数,常记为M(p)。如果p是素数的同时,梅森数(即2^p-1)也是素数,就称这个梅森数为梅森素数。输入一个长整型数n,输出不大于它的所有梅森素数。对一个素数,若其含有4,则称其为四素数,如41,149就是四素数,问1e7以内四素数有多少个。(在全局区开大数组,防止 TLE 超时)。(极其省内存,防止 MLE 爆内存闪退)。输出比该数字小的梅森素数。1e7以内四素数的个数。

2026-03-09 17:08:06 217

原创 非素数个数(厦门大学机试题)

输入两个正整数数a,b,其中a<=b<=10^7。特别的,1也算作素数,区间是[a, b]。求a-b之间的非素数个数。

2026-03-09 10:21:59 143

原创 猴子报数(兰州大学/湖南大学机试题)

n个猴子围坐一圈并按照顺时针方向从1到n编号,从第s个猴子开始进行1到m的报数,报数到第m的猴子退出报数,从紧挨它的下一个猴子重新开始1到m的报数,如此进行下去知道所有的猴子都退出为止。求给出这n个猴子的退出的顺序表。有做组测试数据.每一组数据有两行,第一行输入n(表示猴子的总数最多为100)第二行输入数据s(从第s个猴子开始报数)和数据m(第m个猴子退出报数).当输入0 0 0时表示程序结束.。每组数据的输出结果为一行,中间用逗号间隔。

2026-03-08 23:34:47 161

原创 大整数乘法(数学)

在一些应用中,特别是现在的密码学中,常常需要用超过100位的整数来做乘法,以此来对数据加密。现在有两个小于等于100位的大整数a和b(位数相同),请写程序计算出这两个大整数乘积的结果。

2026-03-08 23:29:41 152

原创 喷水装置(贪心)

长 米,宽 米的草坪里装有 个浇灌喷头。每个喷头都装在草坪中心线上(离两边各 米)。我们知道每个喷头的位置(离草坪中心线左端的距离),以及它能覆盖到的浇灌范围。请问:如果要同时浇灌整块草坪,最少需要打开多少个喷头?

2026-03-07 08:53:29 418

原创 种树2(贪心)

某条街被划为 条路段,这 条路段依次编号为。每个路段最多可以种一棵树。现在居民们给出了 组建议,每组建议包含三个整数 ,表示居民希望在路段 到 之间至少要种 棵树。这些建议所给路段的区间可以交叉。请问:如果要满足所有居民的建议,至少要种多少棵树。

2026-03-06 22:06:03 126

原创 To Fill or Not to Fi(浙江大学机试题)

【代码】To Fill or Not to Fi(浙江大学机试题)

2026-03-06 18:27:12 804

原创 成绩排序(清华大学上机题)

输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开 多组测试数据输入。题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩。按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开。都按先录入排列在前的规则处理。

2026-03-01 22:41:11 36

原创 字母统计(上海交通大学机试题)

对每个案例按A-Z的顺序输出其中大写字母出现的次数。输入一行字符串,计算其中A-Z大写字母出现的次数。案例可能有多组,每个案例输入为一行字符串。

2026-03-01 15:40:22 37 1

原创 字符移动(贵州大学机试题)

输入一个字符串,将其中的数字字符移动到非数字字符之后,并保持数字字符和非数字字符输入时的顺序。例如:输入字符串“ab4f35gr#a6”,输出为“abfgr#a4356”。输入一行字符串,长度小于100。

2026-02-28 19:03:09 47

原创 加密算法(华南师范大学/贵州大学机试题)

编写加密程序,加密规则为:将所有字母转化为该字母后的第三个字母,即A->D、B->E、C->F、......、Y->B、Z->C。小写字母同上,其他字符不做转化。输入任意字符串,输出加密后的结果。例如:输入"I love 007",输出"L oryh 007"输入一行字符串,长度小于100。输出加密之后的结果。

2026-02-28 18:52:54 37

原创 旋转方阵(福州大学/暨南大学/中国科学技术大学机试题)

本题的一般思路, 弄一个二维数组, 然后转圈赋值, 但是这个的逻辑很麻烦, 我们这里引用一个通用模板“边界收缩法”, 这里用上(top)下(bottom)左(left)右(right)分别代表数组的上下左右。首先, 从top->bottom依次赋值,然后left向右移动一步, 接下来从left->right, 然后bottom向上移动一步, 接下来从bottom到top, 然后right向左移动一步, 最后top->bottom, 然后top向下移动一步, 这样依次循环, 知道count达到目标值未知。

2026-02-23 20:39:47 78

电池容量检测管理.apk

电池容量检测管理.apk

2023-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除