- 博客(25)
- 收藏
- 关注
原创 OJ实验:找新朋友
这是一个内层循环,从`i`开始,以`i`为步长,遍历到`MAX_N - 1`。通过`j += i`,确保`j`是`i`的倍数,也就是说`i`是`j`的因子。如果`i`不是`j`,将`i`添加到`j`的因子列表中。例如,对于`j = 12`,`i = 3`,3将被添加到`factors[12]`中。如果它们相等(即`i == j`),表示`i`是`j`本身,这时不需要将`i`作为`j`的因子,因为我们只需要存储真正的因子。`factors`是一个二维向量,其中`factors[i]`存储了所有`i`的因子。
2024-06-12 21:32:28
295
原创 括号匹配问题
遍历输入的字符串,每当遇到一个开括号(即'('、'['或'{'),就将其压入栈中;每当遇到一个闭括号(即')'、']'或'}'),就检查栈顶元素。如果不匹配,则根据不匹配的类型输出相应的信息(NO1, NO2, NO3)。如果栈不为空,则也表示有未匹配的开括号,应根据栈中剩余的括号类型输出相应的信息。设计一个算法利用顺序栈检查用户输入的表达式里的括号是否配对,假设表达式中可能含有圆括号()、中括号[]和大括号{}匹配时输出YES,小括号不匹配输出NO1,中括号不匹配时输出NO2,大括号不匹配时输出NO3。
2024-05-31 17:33:26
159
原创 求两集合的交集
有两个集合采用递增有序的整数顺序表A,B存储,设计一个在时间上尽可能高效的算法,求两个集合的交集C,C仍然用顺序表存储,并给出算法的时间和空间复杂度。
2024-05-14 01:20:26
237
原创 删除负整数元素
有一个整数顺序表L,设计一个尽可能高效的算法删除其中所有值为负整数的元素(假设L中值为负整数的元素可能有多个),删除后元素的相对次序不改变,并给出算法的时间复杂度和空间复杂度。
2024-05-14 01:03:41
264
1
原创 递增有序的整数顺序表
有一个递增有序的整数顺序表L,设计一个算法将整数x插入适当位置,以保持该表的有序性,并给出算法的时间和空间复杂度。例如,L=(1,3,5,7),插入x=6后L=(1,3,5,6,7)空间复杂度是 𝑂(𝑛)O(n),因为需要额外的空间来存储新数组的元素,其长度为原数组长度加一。
2024-05-14 00:53:53
157
1
原创 史上最全C++算法 (A+B问题)
算法一、DFS一号算法二、DFS二号算法三、BFS算法四、直接算咯算法五、二分算法六、稍微有点暴力的枚举但是还是1892ms卡过了欸算法七、最短路之dijkstra思路:定义节点1到节点2路径长度为a,节点2到节点3路径长度为b则答案为节点1到节点3的最短路(也就是a+b)算法八、最短路之SPFA思路同上算法九、最短路之Floyd思路同上算法十、高精算法十一、最小生成树之kruskal思路其实和最短路的一样,只是改成用最小生成树的方法求罢了算法十二、最小生成树之prim
2023-10-20 18:22:45
1494
1
原创 洛谷P1068 分数线划定(结构体与sort—cmp)
面试分数线根据计划录取人数的 150% 划定,即如果计划录取 m 名志愿者,则面试分数线为排名第 m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。保证 4 个人进入面试的分数线为 88,但因为 88 有重分,所以所有成绩大于等于 88 的选手都可以进入面试,故最终有 5 个人进入面试。从第二行开始,每行包含 2 个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
2023-10-17 21:31:13
53
原创 高精度除法 (高精除低精)
给定两个非负整数(不含前导 00) A,B,请你计算 A / B的商和余数。共两行,第一行包含整数 A,第二行包含整数 B。共两行,第一行输出所求的商,第二行输出所求余数。符卿你带我走吧啊啊啊啊啊!
2023-10-17 18:43:48
79
原创 数字反转(升级版) 洛谷P1553
这次与 NOIp2011 普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。给定一个数,请将该数各个位上数字反转得到一个新数。
2023-10-16 16:10:02
248
1
原创 AcWing 789.数的范围(plus)
给定一个的长度为 n 的整数数组,以及 m 个查询。对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 00 开始计数)。如果数组中不存在该元素,则返回-1 -1。
2023-09-26 22:05:36
45
1
原创 AcWing788.逆序对的数量(归并排序做法)
给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i个和第 j个元素,如果满足 ia[j],则其为一个逆序对;否则不是。
2023-09-26 10:03:23
47
原创 哥德巴赫猜想 (洛谷P1304)
输入一个偶数 N,验证 4∼N 所有偶数是否符合哥德巴赫猜想:任一大于 22 的偶数都可写成两个质数之和。如果一个数不止一种分法,则输出第一个加数相比其他分法最小的方案。例如 10,10=3+7=5+5,则 10=5+5 是错误答案。首先先输出正偶数 2i+2,然后输出等号,再输出加和为2i+2 且第一个加数最小的两个质数,以加号隔开。输出(N-2)/2 行。数据保证,4≤N≤10000。第一行输入一个正偶数 N。
2023-09-22 16:39:12
158
1
原创 数的计算(递归) 洛谷P1028
因为f[i]=f[1]+f[2]+f[3]+...+f[i/2] 所以当i为奇数时f[i]=f[i-1],当i为偶数时f[i]=f[i-1]+f[i/2];设f[i]为初始值为i时的满足条件总数,可得f[i]=f[1]+f[2]+f[3]+...+f[i/2];容易想到f[1]=1;
2023-09-20 22:23:00
49
1
原创 上台阶问题【感谢大佬的题解】
有 N 级台阶,你一开始在底部,每次可以向上迈 1∼K 级台阶,问到达第 N 级台阶有多少种不同方式。一个正整数 ans(mod100003),为到达第 N 级台阶的不同方式数。两个正整数 N,K。
2023-09-13 22:12:46
222
原创 洛谷P5587打字练习(我这样做为什么不对)
R 君看到网站上显示他花了 T 秒完成了这次的打字游戏,请你计算出他的 KPM(Keys per minutes,每分钟输入的字符个数),答案四舍五入保留整数部分。对于 100%的数据,1000≤T≤1000,保证每个文本段的总字符数(包括换行)不超过 100000 个且总行数不超过 10000。特殊的,如果此时光标已经在一行的开头,则不能继续退格(即忽略此时输入的退格键)。输入的文本有多行,R 君可以通过换行键来换行,换行后光标移动到下一行的开头。R 君会依次告诉你网站的范文,他的输入和花费的时间。
2023-09-08 20:19:48
82
原创 打印输出沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
2023-09-08 20:16:23
63
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人