- 博客(13)
- 收藏
- 关注
原创 D8dud. 后缀数组 20**
后缀数组【问题描述】 在模版串检索问题中,有一种非常有用的数据结构:后缀数组。对于一个串S=s[1]s[2]…s[n](注意,下标从1开始),它的第i个后缀记为SF[i]=s[i]…我们只需要记下后缀的起始位置,也就是SF[i]的下标i。上述数组的元素依次为SF[6], SF[8], SF[7], SF[2], SF[1], SF[9], SF[5], SF[3], SF[4]。输出一行,为输入字符串的后缀数组的下标序列,两个下标之间用一个空格分隔。请编程对输入的字符串,输出它的后缀数组对应的下标序列。
2024-04-26 21:44:22
239
1
原创 c++激光炸弹
激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为 �m 的边必须与 x 轴,y 轴平行。对于 100%的数据,保证 1≤n≤104,0≤xi,yi≤5×103,1≤m≤5×103,1≤vi<100。现在地图上有 n 个目标,用整数 xi,yi 表示目标在地图上的位置,每个目标都有一个价值 vi。接下来的 n 行,每行有 33 个整数 x,y,v,表示一个目标的坐标与价值。一种新型的激光炸弹,可以摧毁一个边长为 m 的正方形内的所有目标。本题考查 二位前缀和。
2023-08-09 10:40:17
335
原创 [2014J1]珠心算测验(c++)
他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。对于 100%100% 的数据,3≤n≤100,测验题给出的正整数大小不超过 10,000。第二行有 n 个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。由 1+2=3,1+3=41+2=3,1+3=4,故满足测试要求的答案为 22。注意,加数和被加数必须是集合中的两个不同的数。
2023-08-09 10:34:47
213
原创 c++去重排序1(set)
第二行:�n 个用空格隔开的正整数 ��(1≤��≤1000)ai(1≤ai≤1000)。输入 �n 个正整数��ai,按照从小到大的顺序输出。第一行:�(1≤�≤105)n(1≤n≤105)。每行一个正整数,为从小到大排序后的不重复的数。本题考查 排序与set等函数,
2023-08-09 10:31:00
379
原创 c++练习_Floyd简介(弗洛伊德算法)
Floyd BFS 实现无权最短路 (BFS局限性:无权) 最短路问题: 确定起点 确定终点 起点和终点都确定 全局最短路 Floyd 弗洛伊德算法 多源汇最短路,边权为负(不允许出现负权环) 时间复杂度是 O(n^3)核心:如果发现两个点之间可以通过一个中转点中转,使得两点之间的路径变得更短,此时两个点之间 需要添加中转点才能获得最短路径。
2023-08-08 10:25:48
417
原创 c++[BJ2013.X4] 双节棍
他到商店里,发现共有 n(2≤n≤100) 根双节棍,第 i 根的长度为 (1≤Li≤10000)。他希望买下的两根双节棍的长度差尽可能小,请你编程帮他找到两根最合适的双节棍,并输出最小的长度差值。第二行:n 个正整数,用空格分开,第 i 个数 Li 表示第 i 根双节棍的长度。第一行:一个整数 n,表示商店里出售双节棍的数量。只有一个整数,为两根双节棍的长度差的最小值。小刚想买两根双节棍,左手一根右手一根。本题考查枚举法的基础运用,
2023-08-08 10:09:25
200
原创 c++二叉树BFS
之后 n 行,每行包含 33 个整数,分别为当前结点序号,以及其左右儿子序号,空格隔开。之后 n 行,每行包含 33 个整数,分别为当前结点序号,以及其左右儿子序号,空格隔开。序,第二行从根结点出发至每个结点的最短路长度,均用一个空格隔开。输入一串二叉树,对其从根结点开始进行 BFS,输出 BFS 序。第一行为二叉树的结点数( n≤1000)n(n≤1000)。输入一串二叉树,对其从根结点开始进行。2.第 11 个点为二叉树的根结点。从根结点至根结点的路径长度为 0。一行,BFS序,用一个空格隔开。
2023-08-08 10:02:23
284
原创 c++ 排身高(优先队列)
第二行有 n 个用空格分开的整数 a1、……、an,依次表示每个同学的身高。ai 是不超过 200 的正整数。鹏鹏的班上一共有 n 个学生,编号为 1∼1∼n ,刚好每个同学的身高。有两个整数,中间用空格隔开,分别表示身高第二高的同学的初始编号和身高。第一行有一个整数 n(2≤n≤100) ,表示有 n 个学生。鹏鹏想知道,所有同学中身高第二高的是谁。本题考查优先队列的结构体,难度2星。
2023-08-07 11:16:50
1289
原创 c++公交车乘客
第 �i 排的两个座位的宽度均为 ��wi。第二行为一个序列 �1,�2,⋯,��w1,w2,⋯,wn(1≤��≤1091≤wi≤109),其中 为第。第一行包括一个整数 �(1≤�≤2×105)n(1≤n≤2×105),为公交车中座位的排数。第 44 名乘客(外向者)选择了第 22 排(由于它是唯一的有空座的那排)。第 22 名乘客(内向者)选择了第1排(由于它是唯一的没有人坐的那排)。,表示第 �j 名乘客是内向者,如果第 �j 个字符为。,表示第 �j 名乘客是外向者。
2023-08-07 11:13:00
426
原创 c++队列2
对于 100%100% 的测试数据,满足 �≤10000n≤10000,且被插入队列的所有元素值是 [1,1000000][1,1000000] 以内的正整数。输出若干行,对于每个操作,按「题目描述」输出结果。再次尝试弹出队首,由于队列已经为空,此时无法弹出。接下来 �n 行,每行表示一个操作。每条输出之间应当用空行隔开。弹出队首,此时队首为空。弹出队首,此时队首为。
2023-08-06 11:29:59
179
原创 [BJ2011.X5] 选小寿星
随机挑一个数字 n(1≤n≤9) ,从第一个同学开始连续报数,报数到 �n 的同学就出局,然后从下一位同学重新开始报数,一直到剩下最后一名同学。由于女生少,班主任决定每个女生有 22 次机会,也就是说,每名女生第 22 次数到 �n 时才出局。有 �=5m=5,其中 22 名女生,编号顺序为 1,2,3,4,51,2,3,4,5,分别为男,男,女,女,男。例如,�=3m=3,其中有 11 名女生,编号顺序为 1,2,31,2,3,分别是男,女,男,�=2n=2。第三行是 �n,表示 �n 是出局数字。
2023-08-06 11:28:27
368
原创 [2010.S1] 机器翻译
对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过 �−1M−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入 �M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。
2023-08-06 11:25:26
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人