自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对向指针算法

对向指针算法(双指针算法或碰撞指针)它在处理数组、字符串等序列结构时非常高效,特别是用于查找满足特定条件的两个元素、判断回文性或滑动窗口等问题。对向指针算法通常涉及两个指针,一个从序列的起始位置开始(左指针),另一个从末尾开始(右指针),然后根据某种条件相向移动,直到它们相遇或满足特定条件。这种方法通常能将O(n²)的时间复杂度优化到O(n)

2025-11-23 15:01:03 434

原创 双指针问题(2)

给你一个数组,全部有0和1构成,再给你一个R表示最多将数组中R个0反转为1,求最长的1构成的连续数组有多长。第一行:2整数,n代表有n个数据(1<n<1000000)r代表最大反转次数。a[10]={1001101011},r=100则输出10。a[10]={1001101011},r=1则输出4。a[10]={1001101011},r=2则输出7。第二行:n个1或者0。

2025-11-16 16:29:49 150

原创 双指针问题

S="ADOBECODEBANC”,T="ABC”,则输出:“BANC",包含A,B,C的最短子串。不满足条件就扩张:窗口扩张:right++→字符加入→更新window→检查是否满足need。满足条件窗口收缩:left++→字符移出→更新window→检查是否破坏条件。//当前窗口字符计数器。//T中字符需求计数器。//已满足条件的字符种类数。给定字符串S和字符串T,在S中找出包含T中所有字符的最短连续子串。

2025-11-09 17:00:50 137

原创 双指针问题(同向)

删除有序数组中所有重复的数据第一行整数n表示有n个数(n<10000000),第二行n个整数x(0<x<9999999999999)一行,去重后的数列,用空格隔开1.考虑使用数组统计法,但是数据范围(0<×<9999999999999)范围过大,统计数组开不了这么大2.考虑使用传统方法统计去重复,但是数据个数(n<10000000)双重循环会导致超时,好在他是有序的,可以使用双指针维护一个窗口,O(n)的时间处理这个问题删除数组(非有序)中所有等于x的数据。

2025-11-02 22:19:44 244

原创 CSP-J复赛2024

本文包含两个编程问题: 扑克牌问题:计算需要借多少张牌才能凑齐一副完整扑克牌(52张)。输入n张牌,使用集合(set)去重后输出52-去重后的牌数即可。 地图探险问题:模拟机器人在网格地图上的移动过程。机器人根据当前位置和方向移动,遇到障碍或边界则右转。统计机器人经过的不同位置数量。输入包含多组测试数据,每组数据包括地图、初始位置和方向、操作次数k。通过方向向量数组和循环实现移动逻辑,使用二维数组标记经过的位置。 两个问题都考察基本编程能力和数据结构使用,其中扑克牌问题重点在去重处理,地图探险问题重点在方向

2025-10-07 19:14:05 935

原创 动态规划--线性问题

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹的枚数和导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,每个数据之间至少有一个空格),计算这套系统最多能拦截多少导弹。第1行有1个整数n,代表导弹的数量。(n<=1000)

2025-09-21 21:59:28 802

原创 最长上升子序列的长度&最短连续字段和(动态规划)

摘要:本文介绍了最长上升子序列(LIS)和最短连续子段和两个经典算法问题。对于LIS问题,详细讲解了动态规划和贪心+二分两种解法,包括状态定义、转移方程和实现代码。对于最短连续子段和问题,说明了问题定义和应用场景,并给出了动态规划解法代码。两个问题在任务调度、股票分析等领域都有重要应用价值,是动态规划学习的典型案例。

2025-09-08 23:24:53 1023

原创 爱心❤❤❤

【代码】输出一个爱心。

2025-09-02 21:44:06 191

原创 c++动态规划(2)

文章摘要:本文包含三个动态规划编程题目及解答。1. 奶酪问题:Jerry需在不连续偷吃相邻奶酪的情况下最大化美味度,使用动态规划求解。2. 酒鬼问题:Santo需在不超过连续三瓶的限制下最大化饮酒量,通过状态转移方程解决。3. 奶牛散步问题:计算奶牛在无限矩阵中N步不重复路径的可能方案数,采用动态规划方法。三个问题均展示了动态规划在不同场景下的典型应用。

2025-08-31 15:37:08 355

原创 c++动态规划

题目描述一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。任务:对于给定的N和M,求不发生爆炸的放置危险物质的方案总数。输入格式只一行,两个正整数N,M(1<N<50,2≤M≤5)输出格式输出一个整数,表示方案数。样例输入样例4 3输出样例13。

2025-08-26 19:45:49 304

原创 差分数组c++

每天记录温度,支持区间温度调整和单日查询输入:第一行:一个整数n表示有n个温度第二行:n个数表示具体温度第三行:三个整数:S,e,c,表示从s天到e天,温度变化为c第四行:整数m,表示查询第m天的温度输入:初始温度[20,22,21,19]操作:第1-3天升温2度查询:第3天温度→输出23。

2025-06-21 19:50:51 193

原创 二维前缀和

给定m×n矩阵,找出元素和最大的子矩阵输入:[-1,2,-1][3,4,5][-2,-3,-4]输出:子矩阵[[3,4,5]],和为12解法思路:构建二维前缀和数组四重循环枚举所有可能的矩形区域:前两重循环枚举上下边界后两重循环使用类似最大子数组和的Kadane算法优化。

2025-06-15 12:42:19 226

原创 高精度运算(string函数)

【代码】高精度运算(string函数)

2025-04-26 22:14:34 202

原创 string函数具体事例

输入两个字符串A和B,输出B在A中出现的位置。

2025-04-18 22:40:32 234

原创 string函数的应用

find 方法 实例。

2025-04-18 22:27:03 430

原创 青少年软件编程(C语言)等级考试试卷(三级)

在上机实验课上,老师将所有学生排列为 n 排,每排坐 m 个学生。每个学生有左右两个邻座(除了这一排的左右两端)。每个人可以和自己的邻座互相帮助完成实验。除了每排左右两端的学生,中间的每个学生都可以同时与两个邻座分别协作。由于每个学生的个人能力不同,假设协作产生的小组能力值是两个协作学生的能力值之和,老师希望知道,自己给出的座位安排在多大程度上是“均衡”的 —— 所谓,是指所有可能组成的协作小组的能力值的最大值与最小值之差。给定一张座位安排表,请计算这个安排的分组均衡性。时间限制:1000。

2025-03-30 15:16:36 1189

原创 枚举c++

给出 n 个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。

2025-03-23 11:29:11 682

原创 递归排列枚举(c++)

设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),要求:计算用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况。

2025-03-23 11:17:27 289

原创 c++三级(枚举问题)

菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。

2025-03-15 19:44:37 580

原创 c++三级(枚举问题)

给定一个正整数序列,判断其中有多少个数,等于数列中其他两个数的和。比如,对于数列 , 这个问题的答案就是 , 因为。

2025-03-15 19:33:09 187

原创 青少年软件编程(C语言)等级三级考试试题(2)

Minecraft 是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。在 Minecraft 中,基本的建筑元素是边长为 1 个单位的立方体,Tony 想用 N 个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢?

2025-02-22 12:54:31 343

原创 青少年软件编程(C语言)等级三级考试试题

我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。数据保证有唯一解。

2025-02-22 12:49:57 830 3

原创 递推问题。

【代码】递推问题。

2025-02-15 18:58:02 116

原创 自定义函数--括号匹配问题

在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用“$”标注,不能匹配的右括号用“?”标注。

2025-01-04 14:12:10 191

原创 递归和循环

如 3、12、25、30、1003、12、25、30、100。从键盘读入一个整数n ,请输出n∼1 之间所有的整数,每行输出 1 个。小丽同学想在 1∼n 中找出这样的数,这个数的各个位的和不能被 2 整除也不能被 5 整除,比。如果一个函数可以求A(n),那么该函数就可以求A(n-1),就形成了递归调用;输出n∼1 之间所有的数,每行 1 个。请打印 n 行的数字直角三角形。请打印 n 行的数字直角三角形。1∼n 中满足条件的数的个数。n 行的数字直角三角形。n 行的数字直角三角形。

2024-12-21 14:03:56 495

原创 递归问题(c++)

原理 : 如果一个函数可以求A(n),那么该函数就可以求A(n-1),就形成了递归调用;试求该数列前N 项之和。因为木块堆得实在是太有规律了,你只要知道它的层数就可以计算所有木块的数量了。数列递归 : 如果一个数列的项与项之间存在关联性,那么可以使用递归实现。求S=1+2+4+7+11+16。只有一个整数 n ,表示这堆小木块的层数,已知 1≤n≤100。小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,有一对兔子,从出生后第3个月起每个月都生一对兔子,一对。只有一个整数,表示这堆小木块的总数量。

2024-12-14 14:37:33 629 1

原创 自定义函数

用自定义函数做一个电话本。

2024-11-24 13:40:38 474

原创 自定义函数

return;自定义函数可以帮我们解决一些复杂的问题,精华代码。

2024-11-16 14:42:42 232

原创 sqrt应用(进阶版)

输入复制 输入复制 输入复制。输出复制 输出复制 输出复制。输出复制 输出复制。一个非负整数n,加上100是得到的n+100,是一个完全平方数,在加100的基础上再加上168得到的。一行,一个整数n(0<n<3010) 输入复制。

2024-11-09 14:11:19 808

原创 一维数组-排序(精选题目)

小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺序从左到右排,请问他们合影的效果是什么样的(所有人的身高都不同)?输入第一行是人数n(2 <= n <= 40,且至少有1个男生和1个女生)。后面紧跟n行,每行输入一个人的性别(男male或女female)和身高(浮点数,单位米),两个数据之间以空格分隔。输出。

2024-11-03 15:18:33 403

原创 c++一维数组sort函数

对数组的元素按从小到大进行排序。输入有两行 第一行有一个整数n( 5 <= n <= 10 ) 第二行有n个整数输出输出更新后的数组样例输入复制8输出复制。

2024-10-26 14:24:45 580

原创 青少年软件编程(C语言)等级二级考试试题2023年09月

将一个数组中的前k项按逆序重新存放。例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。

2024-10-07 19:54:14 1038 1

原创 c++知识点总结

4.strchr(a,‘s’) 在串a里寻找第一个b。1.strcmp(a,b) 把字符串a复制到b里面。2.strcmp(a,b) 比较两个字符串的大小。3.strcat(a,b) 连接两个字符串。如果a大返回1,如果b大返回-1,如果一样大返回0.

2024-10-05 13:21:20 228

原创 c++2级知识点总结

一维数组 存储空间对一维数组的操作(增加 删除 修改 插入 排序)应用(去重复、统计、数组计数法、连续性问题)二、字符数组(特殊的一维数组)输入输出直接用cin cout读入带空格的字符getline、结束符\0使用到的函数:获取字符串长度strlen()基本造作(插入多个字符,删除多个字符,首字母大小写,统计单词数量,最长单词,去多余空格······)三、二维数组数据的读写、行列操作、位置操作······数据的应用:杨辉三角、统计分数、当做表格使用······

2024-09-29 21:46:35 543

原创 2020真题

输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。输入格式第一行分别为矩阵的行数n和列数m,两者之间以一个空格分开。接下来输入的n行数据中,每行包含m个整数,整数之间以一个空格分开。输出格式输出对应矩阵的边缘元素和。样例样例输入3 33 4 13 7 12 0 1样例输出15。

2024-09-07 11:55:43 364

原创 2022真题

给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出。输入格式包含三行:第一行为N,表示整数序列的长度(N ≤ 100);第二行为N个整数(不超过整型范围),整数之间以一个空格分开;第三行包含一个整数(不超过整型范围),为指定的整数x。输出格式N个整数,为原序列放大之后的序列,整数之间以一个空格分开。样例样例输入31 5 72样例输出2 10 14。

2024-09-07 11:53:02 452

原创 青少年软件编程(C语言)等级二级考试试题(2021年9月)

现有n个整数,将其中个位数为k的数进行累加求和。

2024-08-10 14:17:33 634

原创 青少年软件编程(C语言)等级二级考试试题(2021年6月)

第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以一个空格分开。接下来输入的m行数据中,每行包含n个整数(每个数大于等于0,小于1000),整数之间以一个空格分开。接下来n行,每行一个单词,长度不超过20,表示文件的名字。输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于100。按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。N个整数,为原序列放大之后的序列,整数之间以一个空格分开。1.奇数在前,偶数在后;

2024-08-03 15:33:51 1097 3

原创 青少年软件编程(C语言)等级二级考试试题(2020年6月)

海上有一个岛,在环海边上建有一条环岛高速公路,沿着公路有n(5 < n < 10000)个居民点,假设每个居民点有一个编号,从0开始,按顺时针依次从小到大(即,0,1,…一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔。后面为n行,每行为一个居民点的啤酒需求量以及按顺时针离下一个居民点的距离(均为整数,空格间隔),从编号为0的开始,按单增顺次给出。输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。

2024-07-11 21:44:06 886 1

原创 2022C语言二级真题

接下来输入的m行数据中,每行包含n个整数(每个数大于等于0,小于1000),整数之间以一个空格分开。第三行包含2个整数,为指定的整数m,误差范围X。例如:数字序列1、4、2、3 的相邻数字差的绝对值分别为3、2、1,排序后是1、2、3,说明该序列存在着“有趣的跳跃”。给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。在一个长度为n的数字序列中,如果相邻元素差的绝对值经过升序排序后正好是1~n-1,则认定该序列存在“有趣的跳跃”。

2024-06-15 16:55:24 1055

空空如也

空空如也

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

TA关注的人

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