自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 组合优化:背包问题

背包问题(Knapsack Problem)是组合优化中的一个经典问题,它描述的是这样一个场景:有一个背包,背包的承重有限,同时有一系列物品,每个物品都有自己的重量和价值。问题的目标是选择一些物品,使得这些物品的总重量不超过背包的承重,同时这些物品的总价值尽可能高。

2024-04-07 21:48:28 402

原创 C++ 动态字符串String的介绍及经典用法展示

在C++中,是标准模板库(STL)中的一个类,用于表示和操作字符串。提供了丰富的功能来处理文本数据,包括字符串的创建、修改、搜索、比较和转换等操作。

2024-04-07 21:37:29 602

原创 STL、Vector和Set的讲解和例题分析

STL(Standard Template Library,标准模板库)是C++标准库的一部分,它提供了一系列通用的编程组件,包括容器、迭代器、算法和函数对象等。提供了快速的随机访问能力,可以通过索引直接访问元素,同时也支持在尾部添加和删除元素的高效操作。:STL使用迭代器作为访问容器元素的通用方法,它提供了一种统一的方式来遍历和操作容器。是C++标准模板库(STL)中的一个容器,它存储的元素是唯一的,并且是有序的。中的元素是唯一的,所以它不支持直接通过索引访问元素,因为没有索引的概念。

2024-04-07 21:21:47 1069

原创 日常刷题:统计天数

给定两个年份 n,m,问,两个年份之间有多少天(包括年份 n和年份 m)?第一行包含两个整数 n,m,含义与问题描述中相同。输出共一行,包含一个整数,表示两个年份之间的天数。

2024-04-06 22:55:23 135

原创 C语言中各进制之间的转换

在C语言中,进行不同进制之间的转换通常涉及将数字从一种表示形式转换为另一种表示形式。

2024-04-05 18:36:16 574

原创 第十七题:串的处理(通过率80%)

我觉得如果用链表100%的通过率是可以实现的,但花的时间就很长了;我用的直接输处的方法,我看了几遍,暂时还没有发现为什么还有20%不能通过,之后再考虑考虑吧。用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由 1 个或多个空格分隔。假设用户输入的串长度不超过 200 个字符。在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。把单词中间有多个空格的调整为 1 个空格。把每个单词的首字母变为大写。输出处理好的字符串。

2024-04-05 18:27:13 240

原创 ASCII码表

在C语言中,ASCII(美国信息交换标准代码)表是一个包含128个字符的编码标准,用于表示英文字符、数字、标点符号等。如果你需要一个完整的ASCII码表,通常可以在编程书籍、在线资源或者编程相关的网站上找到。上面的表格是一个简化的版本,只列出了基本的ASCII字符。请注意,ASCII码表中的字符是按照它们在内存中的二进制表示来排列的。例如,字符 'A' 的ASCII码是65,它在内存中表示为二进制的。类型来存储单个字符,并且可以使用ASCII码直接初始化字符变量。在C语言中,你可以使用。

2024-04-05 16:57:55 365

原创 第十六题:最长递增

在数列 a1,a2,⋯ ,ana1​,a2​,⋯,an​ 中,如果 ai

2024-04-05 16:46:28 131

原创 第十五题:最大距离

在数列 a1,a2,⋯ ,ana1​,a2​,⋯,an​中,定义两个元素 aiai​ 和 ajaj​ 的距离为∣i−j∣+∣ai−aj∣∣i−j∣+∣ai​−aj​∣,即元素下标的距离加上元素值的差的绝对值,其中 ∣x∣∣x∣ 表示 xx 的绝对值。第二行包含 nn 个整数 a1,a2,⋯ ,ana1​,a2​,⋯,an​,相邻的整数间用空格分隔,表示给定的数列。其中,2≤n≤1000,0≤数列中的数≤1042≤n≤1000,0≤数列中的数≤104。输出一行包含一个整数,表示答案。

2024-04-05 16:36:59 249

原创 C语言中库函数math的常见用法

在C语言中,math.h头文件包含了用于执行数学运算的函数。以下是一些math.h。

2024-04-05 16:21:28 425

原创 第十四题:特殊日期

对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。请问从 1900年 1月 1 日至 9999 年 12 月 31 日,总共有多少天,年份的数位数字之和等于月的数位数字之和加日的数位数字之和。这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。例如,2022 年 11 月 13 日满足要求,因为 2+0+2+2=(1+1)+(1+3)。请提交满足条件的日期的总数量。

2024-04-05 16:11:29 283

原创 第十三题:天干地支

地支一共有十二个,分别为:子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、 亥(hài)。每过 6060 年,天干会循环 66 轮,地支会循环 55 轮,所以天干地支纪年每 6060 年轮回一次。天干一共有十个,分别为:甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)。输入一行包含一个正整数,表示公元年份。

2024-04-04 22:13:19 275

原创 第十二题:灌溉

每经过一分钟,水就会向四面扩展一个方格,被扩展到的方格可以被认为已经灌溉好。即如果前一分钟某一个方格被灌溉好,则下一分钟它上下左右的四个方格也被灌溉好。接下来 tt 行描述出水管的位置,其中第 ii 行包含两个数 r,cr,c 表示第 rr 行第 cc 列有一个排水管。其中,1≤n,m≤100,1≤t≤10,1≤k≤1001≤n,m≤100,1≤t≤10,1≤k≤100。小蓝可以控制一个按钮同时打开所有的出水管,打开时,有出水管的位置可以被认为已经灌溉好。输入的第一行包含两个整数 n,mn,m。

2024-04-04 21:42:09 242

原创 第十一题:明明的随机数

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NN 个 1 到 1000 之间的随机整数(N≤100N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。我拿到这个题的时候,第一个想到的是用链表,所以我花了四十分钟左右用链表实现了,但我参考了大佬的写法,太巧妙了,所以我会连同大佬的代码(会标明大佬的ID)一同进行分享和记录。输出 2 行,第 1 行为 1 个正整数 MM,表示不相同的随机数的个数。

2024-04-04 20:42:41 306

原创 C语言关于随机数知识点的总结

1.随机数种子rand()函数生成的随机数是伪随机数,其序列是确定性的。为了改变这个序列,需要设置随机数种子,通常使用srand()函数设置。2.生成随机数:使用rand()函数生成一个0到RAND_MAX(通常是32767)之间的随机整数。3.生成指定范围的随机数:通过模运算(%)生成指定范围内的随机数。4.随机数种子的设置:通常在程序开始时设置随机数种子,以获得不同的随机数序列。

2024-04-04 18:32:43 296

原创 第十题:金币

之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币......;这种工资发放模式会一直这样延续下去:当连续 NN 天每天收到 NN 枚金币后,骑士会在之后的连续 N+1 天里,每天收到 N+1 枚金币。输入只有 1 行,包含一个正整数 K (1≤K≤104),表示发放金币的天数。将给予相同硬币数的视为同一类,然后在每个相同硬币数类中包含的天数中进行处理。输出只有 1 行,包含一个正整数,即骑士收到的金币数。

2024-04-04 18:24:41 345

原创 第九题:最大间隙

给定一个序列 a1,a2,⋯ ,an。其中 a1≤a2≤⋯≤an。相邻两个数之间的差(后一个数减前一个数)称为它们的间隙。输入的第一行包含一个整数 n,表示序列的长度。第二行包含 n 个正整数,为给定的序列。其中,1≤n≤1000,1≤ai≤105。输出一个整数,表示序列中最大的间隙值。请问序列中最大的间隙值是多少?

2024-04-04 18:05:21 283

原创 第八题:天数

输入一个月份,请输出 2021 年这个月有多少天。输入一行包含一个整数,表示月份。输出一个整数,这个月的天数。

2024-04-04 17:20:49 246

原创 列表推导式和 any() 函数

在Python中,列表推导式(list comprehension)和any()函数是两个非常有用的工具,它们可以用于简化代码和提高效率。

2024-04-04 17:09:41 184

原创 第七题:求和

小明对数位中含有 2、0、1、92、0、1、9 的数字很感兴趣,在 11 到 4040 中这样的数包括 1、2、9、101、2、9、10 至 32、3932、39 和 4040,共 2828 个,他们的和是 574574。当你运行这段代码时,它会输出在1到40之间,数位中含有2、0、1、9的数字共有多少个,以及它们的和是多少。,数位中含有2、0、1、9的数字,并计算它们的和,我们可以编写一个简单的程序来实现这个任务。函数来检查字符串中是否包含字符 '2'、'0'、'1' 或 '9'。计算1~2019之间。

2024-04-04 17:06:39 196

原创 C语言怎么实现检查一个数组中的元素中是否包含某个字符?

头文件中定义,它接受两个参数:一个指向字符串的指针和一个要搜索的字符。如果找到该字符,它返回指向该字符的指针;如果没有找到,它返回。在C语言中,要检查一个数组中的元素是否包含某个字符,你可以遍历数组中的每个元素,并使用标准库函数。来检查该字符是否存在于字符串中。,我们想要检查这个字符是否存在于数组中。循环遍历数组,对于数组中的每个元素,我们使用。返回非空指针,表示找到了字符,我们设置。在这个例子中,我们定义了一个字符数组。函数来检查它是否包含。的值打印出相应的信息。

2024-04-04 15:55:51 412

原创 C语言如何实现有输入就一直输入的技巧写法

在C语言中,如果你想要实现一个程序,它会一直等待用户输入直到用户输入特定的结束字符(例如空字符串),你可以使用一个无限循环来实现这个功能。或者达到指定的缓冲区大小(在这个例子中是1024个字符)。如果用户输入了一个空字符串,这意味着用户没有输入任何字符,程序会退出循环。这个程序会一直等待用户输入,直到用户输入一个空字符串为止。函数用于清除输入缓冲区中的任何剩余字符,包括换行符。函数来读取用户输入,直到用户输入一个空字符串。函数会读取输入直到遇到换行符。时不会立即读取到这个换行符。在这个例子中,程序使用。

2024-04-04 12:20:48 354

原创 第六题:标题统计

需要注意一点,虽然题目中有说字符串长度的区间:s (1≤∣s∣≤5);但并非一次一定会输入5个字符,所以在统计字符串长度时要以实际输入字符个数为准。注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。输出只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?输入文件只有一行,一个字符串 s (1≤∣s∣≤5)。最大运行内存: 256M。

2024-04-04 12:13:37 158

原创 第五题:大写

在Python中,处理大数非常简单,因为Python的整数类型是无限精度的,这意味着你可以处理任意大小的整数,而不会像在某些其他编程语言中那样遇到整数溢出的问题。给定一个只包含大写字母和小写字母的字符串,请将其中所有的小写字母转换成大写字母后将字符串输出。这些方法都是Python字符串类型的一部分,非常方便和直观。Python中的字符串处理非常强大,你可以使用多种方法来操作字符串中的字符。是非常大的整数,但是Python可以轻松地将它们相加并返回结果。对于所有评测用例,字符串的长度不超过 100100。

2024-04-04 11:32:08 217

原创 第四题:扫雷

第 2 行到第 n+1 行每行包含 m 个整数,相邻整数之间用一个空格分隔。如果对应的整数为 0,表示这一格没有地雷。如果对应的整数为 1,表示这一格有地雷。对于没有地雷的方格,输出这格周围的地雷数量。对于有地雷的方格,输出 9。在一个 n行 m 列的方格图上有一些位置有地雷,另外一些位置为空。请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。输出 n 行,每行 m 个整数,相邻整数之间用空格分隔。其中,1≤n,m≤100 分钟后还是在当天。输入的第一行包含两个整数 n,m。

2024-04-04 11:15:29 213

原创 第三题:时间加法

其中,0≤a≤23,0≤b≤59,0≤t,t0≤a≤23,0≤b≤59,0≤t,t 分钟后还是在当天。现在时间是 aa 点 bb 分,请问 tt 分钟后,是几点几分?输出第一行包含一个整数,表示结果是几点。第二行包含一个整数,表示结果是几分。输入的第一行包含一个整数 aa。第二行包含一个整数 bb。第三行包含一个整数 tt。

2024-04-03 22:40:52 249

原创 第二题:合法日期

没想到,日记很快就被老师发现了问题,原来小蓝记完 8 月 31 日的日记,竟又记了 8 月 32 日和 8 月 33 日的日记。如果输入的月份不是1到12之间的数字,程序会提示用户输入有效的月份。例如,如果你想知道2024年的4月有多少天,你可以直接查看规则,知道4月有30天。在公历中,大多数月份的天数是固定的,但有几个月份的天数会根据年份的不同而变化。在编程中,你可以根据这些规则来判断某一年的某个月的天数。其中,1≤m≤20,1≤d≤401≤m≤20,1≤d≤40。第二行包含一个整数 dd,表示日期。

2024-04-03 22:38:27 341

原创 第二章 第一题:成绩分析

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。输入的第一行包含一个整数 n (1≤n≤104),表示考试人数。第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。请计算这次考试的最高分、最低分和平均分。第一行包含一个整数,表示最高分。第二行包含一个整数,表示最低分。不分析了,题目写的很清楚了已经。

2024-04-02 21:47:41 279

原创 竞赛常考的知识点大总结(七)图论

最短路问题(Shortest Path Problem)是图论中的一个经典问题,它要求在给定的图中找到两个顶点之间的最短路径。最短路问题可以是单源最短路问题(从一个顶点到其他所有顶点的最短路径)或所有对最短路问题(任意两个顶点之间的最短路径)。

2024-04-01 23:56:37 1519

原创 竞赛常考的知识点大总结(六)数学

素数是只能被1和它本身整除的大于1的自然数。2.

2024-04-01 23:49:14 723

原创 竞赛常考的知识点大总结(五)动态规划

在树形动态规划中,状态的定义通常与树的节点相关,每个节点可以有一个或多个状态。3.

2024-04-01 23:28:12 986

原创 竞赛常考的知识点大总结(二)基础算法

枚举是一种用户自定义的数据类型,它提供了一种方式来定义一组命名的整数常量。2.

2024-04-01 22:46:25 944

原创 竞赛常考的知识点大总结(四)高级数据结构

并查集(Disjoint Set Union,DSU)是一种数据结构,用于管理一系列不相交的集合,并支持两种操作:合并(Union)和查找(Find)。并查集可以高效地处理动态连通性问题,即判断两个元素是否属于同一个集合,以及合并两个集合。

2024-04-01 22:16:29 1161

原创 竞赛常考的知识点大总结(三)搜索

定义了颜色常量和方向数组,用于洪水填充算法。2.

2024-04-01 22:12:05 778

原创 竞赛常考的知识点大总结(一)基本数据结构

二叉树可以递归地定义为每个节点都是一棵二叉树。4.

2024-04-01 21:20:55 1039

原创 第七题:最少砝码

三个砝码:(最大区间为[1,x],虽然x我们还不知道,但我们已经知道肯定有重量为1和3的砝码,即4(包括4)之前的重量已经可以用两个(最少的砝码个数)表示出来了,所以相当于此时范围变为了[4,x],又因为如果x = 10,怎表示不了5了,所以x最大取到9,用数学表达式表示就是:x-(1+3)=5 -----> x = 9)最大区间为[1,9].........;一个砝码:最大区间为[1,1],最大只能表示1,表示不了2。3个砝码重量是 1、4、6,可以称出 1 至7的所有重量。输入包含一个正整数 N。

2024-04-01 21:03:55 705

原创 第六题:修剪灌木

根据以上图片分析:当是第i棵树被置零后,这时分两种情况:第一,此时正在从右向左置零,所以想要第i棵树为最大值,则需要从第i棵树(此时为0)开始加数,加到最右边的第N棵树后方向反转,继续加数,直到加到第i个数的后一个数(也就是第i+1棵树)时,i有了最大值。相当于第i棵树后边走了一个来回,也就是走了(N-i)*2步,而每一步第i棵树都加1,所以该情况下第i棵树最大值为:(N-i)*2;爱丽丝修剪灌木的顺序是从最左侧的灌木开始, 每天向右修剪一棵灌木。在第一天的 早晨, 所有灌木的高度都是 0 厘米。

2024-04-01 19:12:23 418

原创 第五题:顺子日期

表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123;而 20221023 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个 2022 年份中,一共有多少个顺子日期?题意为:2022年中有多少个来顺序连续的日期;其实根据题意也可以猜到答案不会很大,可以一个一个的去试,试到14这道题就通过了!顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的。

2024-04-01 14:38:07 229

原创 第四题:星期一

整个 20 世纪(1901 年 1 月 1 日至 2000 年 12 月 31 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)判断一下闰年,求出多的那几天;此外,判断周一的个数其实就是判断周的个数。

2024-03-31 21:10:37 202 2

原创 第三题:分数

分析:稍微化简一下就可以求出比值。(因为化简后可以看出分子最后一个加的数是1,所以分子为奇数,而分母是2的次方,所以不用考虑分子分母同分问题)每项是前一项的一半,如果一共有 20 项,求这个和是多少,结果用分数表示出来。类似:3/2​,当然,这只是加了前 2项而已。

2024-03-31 20:13:59 186

空空如也

空空如也

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

TA关注的人

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