- 博客(18)
- 收藏
- 关注
原创 2110:【例5.1】素数环 信息学奥赛一本通 搜索与回溯算法
排列成一个环,使得相邻两个整数之和均为素数。同时,环的首尾两个数字之和也必须是素数。
2025-03-28 23:10:59
305
原创 信息学奥赛一本通 1199:全排列 递归 dfs
全排列是指将一组元素的所有可能排列方式列出。需要注意的是,题目要求输出结果按照字典序排列,因此我们需要保证生成的排列是有序的。我们可以使用深度优先搜索(DFS)算法来生成所有全排列。给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。
2025-03-28 02:05:25
245
原创 1236:区间合并 信息学奥赛一本通 简单遍历
不需要任何算法,简单遍历即可,如果最后能够合并成功,必然是最小的到最大的下标。每次直接标记对应区间就行。
2025-03-28 01:30:59
80
原创 1458:Seek the Name, Seek the Fame 信息学奥赛一本通 哈希和哈希表
类型用于处理大整数。s1是字符数组,用于存储输入的字符串。h1数组用于存储字符串的前缀哈希值。power数组用于存储基数的幂次。jinzhi设置为27,作为哈希计算的基础。这段代码通过利用哈希技术高效地解决了寻找字符串中既是前缀又是后缀的所有子串长度的问题。通过预计算哈希值和基数的幂次,能够快速验证任意两个子串是否相等,从而大大提高了算法效率。这种方法非常适合处理大规模数据输入的情况。
2025-02-28 15:27:22
631
原创 1457:Power Strings POJ 2406 信息学奥赛一本通 字符串算法 哈希与哈希表
题目来源于POJ 2406,要求我们对于给定的若干字符串(长度不超过1,000,000),判断每个字符串最多可以由多少个相同的子字符串重复连接而成。例如:"ababab" 可以看作是由3个 "ab" 连接而成。输入包含多个字符串,直到遇到一个单独的句号(".")为止。对于每一个字符串,我们需要输出它能够被分割成的相同子字符串的最大数量。为了解决这个问题,我们可以采用哈希和字符串匹配的方法。
2025-02-27 11:07:59
300
原创 1456:【例题2】图书管理 信息学奥赛一本通 哈希和哈希表 unordered_set
在一个图书馆中,每天都会有许多新书加入。为了更方便的管理图书(以便于帮助想要借书的客人快速查找他们是否有他们所需要的书),我们需要设计一个图书查找系统。是基于哈希表的数据结构,平均情况下查找和插入的时间复杂度为 O(1),非常适合处理大量数据。)之间有一个空格,我们保证所有书名的长度都不超过 200。可以假设读入数据是准确无误的。为了实现高效的查找和添加操作,我们可以使用。
2025-02-26 22:12:16
291
原创 1440:【例题1】数的划分 信息学奥赛一本通 深搜的剪枝技巧
乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长度都不超过50。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。
2025-02-23 21:34:39
435
原创 vscode写c++代码时卡顿解决方案
写c++代码时候经常卡顿,发现底下的c++插件一直在转,参考了许多办法都无解。后来发现可能是vscode分配内存不够导致的。打开settings-json。这样分配了4个g内存。
2025-02-06 21:13:06
257
原创 1426:【例题5】智力大冲浪 信息学奥赛一本通 贪心算法
为自然数,不同的游戏扣去的钱是不一样的。每个游戏本身都很简单,保证每个参赛者都能在一个时段内完成,而且都必须从整时段开始。主持人只是想考考每个参赛者如何安排组织自己做游戏的顺序。作为参赛者,小伟很想赢得冠军,当然更想赢取最多的钱!本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者。为了最大化小伟的收益,我们需要合理安排每个游戏的完成时间,以尽量避免扣款。但是,这些钱并不一定都是小伟的,因为接下来主持人宣布了比赛规则:比赛时间分为。),并且给出了很多小游戏,每个小游戏都必须在规定期限。
2025-02-04 19:58:25
460
原创 一贪到底——贪心算法从局部最优到全局最优------根据目的直接构造cmp排序函数解决贪心算法问题 //工序排序问题//约翰逊法则//信息学奥赛一本通1422
贪心算法从局部最优到全局最优------根据目的直接构造cmp排序函数解决贪心算法问题
2025-02-04 13:54:29
1379
原创 1425:【例题4】加工生产调度 信息学奥赛一本通 贪心算法
这段代码通过遍历加工顺序,逐步累加每个产品在 A 车间和 B 车间的加工时间,确保每个产品在 A 车间加工完毕后才能进入 B 车间,从而计算出总的加工时间。
2025-02-03 22:12:51
942
原创 1424:【例题3】喷水装置 信息学奥赛一本通 贪心算法
该问题的核心在于如何通过最少数量的喷头来覆盖整个草坪。由于喷头只能沿中心线布置,并且其覆盖范围是一个圆形区域,我们需要计算每个喷头实际可以覆盖的草坪长度范围,然后选择最少量的喷头来覆盖整个草坪长度。在一个长为 L 米,宽为 W 米的草坪里装有 n 个浇灌喷头。每个喷头都安装在草坪中心线上(离两边各 W/2 米)。我们知道每个喷头的位置(离草坪中心线左端的距离),以及它能覆盖到的浇灌范围。在这个问题中,我们可以采用贪心策略来解决。请问:如果要同时浇灌整块草坪,最少需要打开多少个喷头?
2025-02-03 20:44:33
435
原创 1423:【例题2】种树 信息学奥赛一本通 贪心算法
当然,B ≤ E,居民必须记住在指定区不能种多于区域地块数的树,所以 T ≤ E-B+1。居民们想种树的各自区域可以交叉。你的任务是求出能满足所有要求的最少的树的数量,尽量减少政府的支出。贪心算法的核心思想是每一个没有达到需求的居民都从结束位置向前种,这样能尽可能同时满足其他人的需求。我们的目标是尽量减少种树的数量,同时满足所有居民的需求。接下来的 M 行描述居民们的需要:B E T,0 < B ≤ E ≤ 30000,T ≤ E-B+1。在这道题目中,我们需要在指定的区域内种树,以满足每个居民的需求。
2025-02-03 17:46:47
290
原创 1422:【例题1】活动安排 信息学奥赛一本通 贪心算法
活动安排问题的贪心算法解决方案使用贪心算法解决活动安排问题,通过按结束时间排序活动,每次选择结束时间最早且不冲突的活动,确保选择的活动集合最大。代码实现简单高效,适用于需要安排多个相互兼容活动的场景。
2025-02-03 01:51:03
406
原创 1253:抓住那头牛 信息学奥赛一本通 BFS 广度优先
我们可以使用广度优先搜索(BFS)来解决这个问题。BFS 是一种逐层遍历的搜索算法,非常适合用于寻找最短路径。我们使用 pair 来记录当前位置和步数,并使用队列来实现 BFS。假设牛没有意识到农夫的行动,站在原地不动。农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点。通过这种方式,我们可以有效地找到农夫抓到牛所需的最少时间。记录步数,使得 BFS 算法更加简洁和高效。(0 ≤ N ≤ 100000),牛位于点。一个整数,农夫抓到牛所要花费的最小分钟数。
2025-02-03 00:53:25
369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人