自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构——第8章 排序

前i-1个元素已经有序,将第i个数插入到该有序序列中。打扑克牌时,手中的牌已经有序,每抓一张牌,就插入到合适的位置,直到抓完牌。根据查找方法的不同,这里分为直接插入排序(对应顺序查找)折半插入排序(对应折半查找)和希尔排序。

2024-06-10 12:19:31 626

原创 蓝桥杯练习系统(算法训练)ALGO-932 低阶行列式计算

内存限制:64.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。接下来n行,每行n个数,表示行列式,数据保证行列式中每个数绝对值不超过2*10^9。一个数表示行列式的值,答案对p取余(余数需要是非负数)。给出一个n阶行列式(1<=n<=9),求出它的值。对于100%的数据n<=9,p<=40000。思路:利用代数余子式求行列式的值。第一行给出两个正整数n,p;对于20%的数据n<=2。对于40%的数据n<=3。

2024-05-28 12:46:11 419 1

原创 蓝桥杯练习系统(算法训练)ALGO-933 汉诺四塔

对于一次操作a,b,必须满足a塔有盘子,且当前状态下a塔最上面的盘子比b塔最上面的盘子(如果有)小,当然b塔没有盘子可以直接移动;XJJ最近迷上了一款小游戏——汉诺四塔,但是由于智商有限,步骤多了容易手滑,于是他请求小伙伴们来帮他,人家才不是cheat呢。·step必须是1到100000以内的整数,a、b必须是1到4的整数,a和b可以相等;思路:与汉诺塔类似,不过多了一个塔,a->d就可以通过b,c塔来辅助。同汉诺塔相似,不过塔有4个,要求将盘子从塔1运到塔4。第一行输出step表示你的操作步数。

2024-05-27 09:29:13 159

原创 汉诺塔问题

将在a塔上的n个盘子移动到c塔,b塔作为辅助。

2024-05-27 08:22:30 117

原创 蓝桥杯练习系统(算法训练)ALGO-935 互质数个数

内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。已知正整数x,求1~x-1中,有多少与x互质的数。(互质是指两个数最大公约数为1)共一行,只有一个整数,表示与x互质数的个数。有1,5,7,11四个数与12互质。输入一行包括一个正整数x。

2024-05-26 15:03:18 174

原创 蓝桥杯练习系统(算法训练)ALGO-934 序列

内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。王神想要知道n的所有排列的逆序对数和,但是他觉得太水了,于是让你算。一行即答案,对1007取模。

2024-05-26 11:58:00 241

原创 dfs全排列

【代码】dfs全排列。

2024-05-26 11:22:13 518

原创 蓝桥杯练习系统(算法训练)ALGO-936 砝码称重

内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。小明捡到了一架没有游标的天平和N个标有重量的砝码,于是他想知道他能够称出多少种不同的重量(假设只能将砝码放在一侧)。输入的第一行包含一个正整数N,表示有N个砝码。接下来一行有N个正整数,表示N个砝码的重量。cnost int N,M的设置居然对答案有影响?输出一行,包含一个整数,表示能够称出多少种不同的重量。N

2024-05-25 22:39:10 160

原创 蓝桥杯练习系统(算法训练)ALGO-937 抗击虫群

但是,这些药物要发挥效用,必须填满位于A区的两个容器S、T,这两个容器的容量分别为n,m而每次填充药物的量p是固定的,现在人们想知道,将P设置为多少才能在最快时间内填满两个容器(即每次的添加量为P,一次只能填充一个容器,且不可超出容器容积,可以认为在添加完S容器后,在添加T容器)内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。ps:由于入侵有多次,容器的体积会因外界元素的干扰而产生变化,你需要输出每次的P;

2024-05-21 21:25:50 271

原创 蓝桥杯练习系统(算法训练)ALGO-938 JOE的早餐

JOE要以最少的体力将很多堆早餐合并成一堆,但是由于物是人非等种种原因,现在JOE将两堆早餐合并成一堆早餐所消耗的体力值 = 被合并的两堆早餐的重量之积!T(土)H(豪)U的早餐有很多很多种类,比如面包,牛奶,凤梨酥,香蕉,蛋饼,饺子,椰子糖,豆香鸭……同一类的早餐,重量都是相同的。今天早上,桃李有n个种类的早餐,对于每个种类,大妈将告诉你,每一个种类的早餐的重量,以及该种类的早餐共有多少堆。第二~n+1行,每行两个正整数pi,qi——表示重量为pi的早餐有qi堆,保证所有的p不同;

2024-05-21 19:13:24 249

原创 蓝桥杯练习系统(算法训练)ALGO-939 区间最大和

思路:dp[i]:表示以第i个数字结尾的序列和最大值为dp[i]。因此,最大的dp[i]即为答案。思路: 利用前缀和,通过sum[R]-sum[L-1]求[L,R]区间的和。暴力方法是将每个区间的和都算出来,取最大值,这样的话时间复杂度为O(n^2),会超时。内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。给定一段长度为N的整数序列A,请从中选出一段连续的子序列(可以为0)使得这段的总和最大。一个整数表示选出的最大的和。

2024-05-20 20:43:33 242

原创 蓝桥杯练习系统(算法训练)ALGO-940 试题3971 丑数

有一些正整数,如果这个正整数分解质因数之后,只包含2或3或5,那么该数即为“丑数”,比如100就是“丑数”,100分解质因数之后只包含2和5;14就不是“丑数”,因为14分解质因数之后,包含了7.内存限制:256.0MB C/C++时间限制:5.0s Java时间限制:15.0s Python时间限制:25.0s。输入正整数n,请写程序判断n是否是“丑数”,是“丑数”则输出“yes”,否则输出“no”。一个字符串yes 或no。n不超过C语言整型范围。

2024-05-20 08:25:58 133

原创 蓝桥杯练习系统(算法训练)ALGO-941 P0601字符删除

编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串打印出来。内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。

2024-05-14 08:32:12 332 1

原创 蓝桥杯练习系统(算法训练)ALGO-943 P0604 Runaround数

(2) 这些数字构成了一个序列,序列中每位数字的值指明了下一个序列数所在的位置。(3) 序列起始于该整数最左边的数字,并且在遍历该整数的所有数字各一次后,又回到了起始位置。(2) 往右走8步,停在6上面(注意走到右边界时要返回到最左边):8 1 3 6 2。(1) 从最左边的数字(即8)开始:8 1 3 6 2。(3) 往右走6步,停在2上面:8 1 3 6 2。(4) 往右走2步,停在1上面:8 1 3 6 2。(5) 往右走1步,停在3上面:8 1 3 6 2。

2024-05-10 15:26:42 259

原创 蓝桥杯练习系统(算法训练)ALGO-945 车厢

一节列车有N个隔间,一个隔间可以容纳四个人,隔间都住满了,同学们买到的票并不在一起,有的隔间没有同学,有的隔间只有一个同学,有的有两个,有的三个,有的住满了同学。好在可以跟别的乘客商量换座来让同学们住到同一个隔间,但劝说别人换位置是一件比较麻烦的事情,请问最少交换多少次能够让所有有同学的隔间中都有不少于三个同学?如果结合后2剩下了,将这一堆2结合,最后剩下的可能有0个2,1个2,2个,2,继续讨论。如果结合后1剩下了,将这一堆1结合,最后剩下的可能有0个1,1个1,2个1,继续讨论。

2024-05-06 21:21:45 293

原创 蓝桥杯练习系统(算法训练)ALGO-946 Q神的足球赛

足球赛上,只见Q神如闪电般的速度带球时而左,时而右,时而前,时而后,时而上,时而下……告诉你他的每一次转的方向以及前进的距离,请你回答他最后在哪个位置,面朝那一个方向。假设他一开始在(0,0,0),面朝x轴的正方向。其中,f(forward)表示继续前进,方向不变;l(left)表示向左转;对于每一组数据,输出Q神的坐标和他的朝向。其中:左手系的x正方向、y正方向、z正方向分别位0、1、2,对应的负方向分别为3、4、5.思路:需要知道Q神的脸的朝向、脚的站位(头指向脚的方向)才能确定Q神的位置。

2024-05-05 16:24:08 266 1

原创 蓝桥杯练习系统(算法训练)ALGO-947 贫穷的城市

有一天,一辆小轿车误入了这座城市,它只能沿着公路走,它走啊走,却再也走不出这座城市了……对于100%的数据:1

2024-05-03 23:50:03 367

原创 蓝桥杯练习系统(算法训练)ALGO-949 勇士和地雷阵

勇士们不小心进入了敌人的地雷阵(用n行n列的矩阵表示,'*'表示某个位置埋有地雷,'-'表示某个位置是安全的),他们各自需要在规定的步数(一步代表走到和当前位置相邻的位置)内绕开地雷到达出口(第一行第一格,即坐标为(0,0)的位置)才能完成任务,告诉你每个勇士的位置(x,y)和规定的步数s,请你判断每个勇士能否顺利完成任务(1代表“能”,-1代表“不能”)。输入数据的第一行为一个整数n;按顺序输出对每个勇士是否能顺利完成任务的判断(1代表“能”,-1代表“不能”),对每个勇士的判断占一行。

2024-05-03 17:36:49 748 1

原创 归并排序求逆序数

1、对数列不断等长拆分,直到一个数的长度。分治思想,时间复杂度O(nlogn)3、重复以上两个过程,直到递归结束。2、回溯时,按升序合并左右两段。

2024-05-03 14:46:44 124

原创 蓝桥杯练习系统(算法训练)ALGO-950 逆序数奇偶

老虎moreD是一个勤于思考的青年,线性代数行列式时,其定义中提到了逆序数这一概念。不过众所周知我们只需要知道逆序数的奇偶性就行了,为了防止计算上的失误,moreD准备编写一个小程序来判定。只要判断奇偶性就行了哦!另外作为一个技术宅,moreD对线性代数中最小下标为1非常不满,于是所有下标均从0开始。输出若干行,每行表示对应组数据逆序数奇偶性,奇数输出odd,偶数输出even。每组数据第一行为一个n,接下来第二行输入n个数字,是一个0到n-1的排列。因此,该序列的逆序数=0+1+2+2+4=9,为odd。

2024-05-02 20:41:48 651 1

原创 蓝桥杯练习系统(算法训练)ALGO-951 预备爷的悲剧

英语预备爷gzp是个逗(tu)比(hao),为了在即将到来的英语的quiz中不挂科,gzp废寝忘食复习英语附录单词表,俨然一场人间悲剧。他会告诉你每个单词会在哪几页出现,并且告诉你要考哪些单词,你只要告诉他答案就可以了。接下来n行每行一个小写字母组成的单词和一个整数,表示某一个单词和它所在的页数。接下来是一行整数m,表示要考m个单词,接下来m行小写字母组成的单词,表示要考到的单词。思路:使用map存储单词和单词出现的最前面的页数,将要考的m个单词的页数存下来。当然,里面可能会有重复的页数,因此需要去重。

2024-05-02 19:32:31 588

原创 蓝桥杯练习系统(算法训练)ALGO-952 简易编辑器

内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。R 将光标左侧内容逆序,光标移到极左。r 将光标右侧内容逆序,光标移到极右。P 光标左移,如果在最左端则不动。N 光标右移,如果在最右端则不动。E 删除光标左侧的一个字符。操作数少于10000。

2024-05-01 19:07:34 729

原创 蓝桥杯练习系统(算法训练)ALGO-953 混合积

宇宙大战中,qdc在其中建立了许多空间站,这些空间站散落在三维空间中,并且由于宇宙之大,空间站完全可以抽象为一个质点。为了达到毁灭性攻击,qdc可以选择其中4个空间站,然后炸毁其形成的平行六面体空间(如图)。既然是毁灭性的打击,六面体自然要有大的体积,即使他会炸毁自己的空间站。胜利掌握在你的手中,你来编写一个程序输出这个最大的体积。思路:四个点可以确定一个六面体的体积,因此在n个点中挑4个点即可,和顺序无关。众所周知,人人都在学习线性代数,既然都学过,那么解决本题应该很方便。对于30%的数据n<=5。

2024-05-01 09:23:33 687

原创 数据结构——第7章 查找

数据元素和顺序表的定义。

2024-04-21 22:18:18 284

原创 蓝桥杯练习系统(算法训练)ALGO-954 逗志芃的暴走

因为逗志芃太逗了,所以这段时间妹子对逗志芃发动了技能无理取闹,妹子要去玩很多的景点。由于逗志芃之前抽机花费了太多的时间,不久以后又要微积分考试了,所以现在被妹子搞成暴走状态了。但是妹子永远是上帝,所以逗志芃只能带妹子出去玩,不过为了节约时间,他希望找到一条花费时间最少的一次性游览线路。接下来是一个数m,表示逗志芃妹子要去去的景点数目。接下来是m个数,就是妹子要去的景点编号。第一行1个数n,表示逗志芃所在的城市有多少个景点,接下来是一个n*n的矩阵。a(i,j)表示i号景点到j号景点的路上花费的时间是多少。

2024-04-13 07:51:27 216

原创 最短路问题(Floyed算法,不能处理“负环”图)

【代码】最短路问题(Floyed算法,不能处理“负环”图)

2024-04-12 21:13:42 93

原创 最近公共祖先(LCA)

【代码】最近公共祖先(LCA)

2024-04-11 13:05:30 417

原创 拓扑排序(Kahn卡恩算法)

【代码】拓扑排序(Kahn卡恩算法)

2024-04-10 21:22:51 205

原创 单源最短路问题Dijkstra算法实现

【代码】单源最短路问题Dijkstra算法实现。

2024-04-10 09:13:05 131

原创 蓝桥杯练习系统(算法训练)ALGO-955 P0701单词复数

内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。(2) 如果单词末尾为y,且前一个字母为辅音(除a, e, i, o, u以外的其它情况),则把y改成ies。编写一个函数RegularPlural,其功能是实现一个英文单词的复数形式。编写测试程序,输入一个长度小于20的单词,输出该单词的复数形式。(1) 如果单词末尾为s,x,z,ch或sh,则在后面加es。(3) 如果是其它情形,一律在后面加s。

2024-04-09 14:31:26 286

原创 蓝桥杯练习系统(算法训练)ALGO-956 P0702 strcmp 函数

在C语言中,有一个strcmp函数,其功能是比较两个字符串s1和s2。请编写一个你自己的字符串比较函数my_strcmp,来实现strcmp函数的类似功能。否则返回s1 与s2 第一个不同字符的差值(如果s1<s2,该差值是一个负数;编写测试程序,输入两个长度小于1000的字符串(可能包含有空格,且长度不一定相等),然后调用my_strcmp函数来进行比较,并输出返回结果。内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。

2024-04-08 09:33:18 304

原创 蓝桥杯练习系统(算法训练)ALGO-957 P0703反置数

一个整数的反置数指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了。请编写一个程序,输入两个整数,然后计算这两个整数的反置数之和sum,然后再把sum的反置数打印出来。要求:由于在本题中需要多次去计算一个整数的反置数,因此必须把这部分代码抽象为一个函数的形式。内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。

2024-04-07 23:56:36 323

原创 蓝桥杯练习系统(算法训练)ALGO-958 P0704回文数和质数

一个数如果从左往右读和从右往左读数字是完全相同的,则称这个数为回文数,比如898,1221,15651都是回文数。编写一个程序,输入两个整数min和max,然后对于min~max之间的每一个整数(包括min和max),如果它既是一个回文数又是一个质数,那么就把它打印出来。要求,回文数和质数的判断都必要要用函数的形式来实现。内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。

2024-04-07 23:52:20 237

原创 蓝桥杯练习系统(算法训练)ALGO-959 P0705 集合运算

输入两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。第二行有n个按从小到大的顺序输入且互不相同的整数,表示集合A中的元素。第四行有m个按从小到大的顺序输入且互不相同的整数,表示集合B中的元素。集合中的所有元素均为int范围内的整数,n、m<=1000。输出第一行按从小到大的顺序输出A、B交集中的所有元素。第三行按从小到大的顺序输出B在A中的余集中的所有元素。第二行按从小到大的顺序输出A、B并集中的所有元素。输入第一行为一个整数n,表示集合A中的元素个数。思路:用两个指针分别指向两个集合。

2024-04-06 10:41:04 219

原创 蓝桥杯练习系统(算法训练)ALGO-962 积木大赛

接下来每次操作,小朋友们可以选择一段连续区间[L, R],然后将第L块到第R块之间(含第L块和第R块)所有积木的高度分别增加1。kAc是个聪明的小朋友,他很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少。但他不是一个勤于动手的孩子,所以想请你帮忙实现这个策略,并求出最少的操作次数。今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi。输入包含两行,第一行包含一个整数n,表示大厦的宽度。思路:h[i]-h[i-1]的累加和,i从1到n。

2024-04-01 20:55:53 429

原创 分解质因数

思路:在2到根号n中枚举,遇到质因子就将其除净,最后如果n>1,就是那个大于根号n的质因子。因为如果有两个以上的话,乘积会大于n。因此只需要从2遍历到根号n即可。每个正整数都能够唯一的表示成它的质因数的乘积。2、n中最多只有一个大于根号n的质因子。1、算术基本定理(唯一分解定理)

2024-04-01 18:48:09 463

原创 判断一个数是否是质数

思路:并不需要一直循环到n,只需要根号n即可,因为其因子都是对应起来的,比如8,因子有2和4,知道8%2=0后即可判断8不是质数。

2024-04-01 18:12:28 88

原创 蓝桥杯练习系统(算法训练)ALGO-963 转圈游戏

游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第m+1号位置,……,依此类推,第n−m号位置上的小伙伴走到第0号位置,第n-m+1 号位置上的小伙伴走到第1号位置,。内存限制:128.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。最初,第0号小伙伴在第0号位置,第1号小伙伴在第 1 号位置,现在,一共进行了10的k次方轮,请问x号小伙伴最后走到了第几号位置。这里需要用快速幂求10^k。

2024-04-01 08:23:40 724

原创 蓝桥杯练习系统(算法训练)ALGO-964 筛法

内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。炫炫学了筛法之后,很想用筛法求欧拉函数。他决定求1到N的所有数的欧拉函数值。输出若干行,每行包含一个整数,第i行表示i的欧拉函数值。输入的第一行包含1个整数n,。

2024-03-30 14:41:49 223

原创 筛法求欧拉函数(时间复杂度O(n))

phi[m]=(p[j]-1)*phi(i)//其中p[j]为m的最小质因子,p[j]*i=m,i和p[j]互质。当m为合数时,phi[m]=p[j]*phi[i] //其中p[j]为m的最小质因子,p[j]*i=m,i%p[j]=0。若是质数,筛掉该质数和已知质数的各个乘积。例如:现在已经找到了2、3、5,当前质数为5的话,可以筛掉10,15,25。当i为质数时,phi[i]=i-1。记欧拉函数的值为phi[i]若是偶数,筛掉它的2倍的数。

2024-03-30 13:21:44 174

空空如也

空空如也

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

TA关注的人

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