- 博客(33)
- 收藏
- 关注
原创 哈希算法解析
哈希算法(Hash Algorithm)是一种将任意长度的输入数据映射为固定长度输出(哈希值)的函数。哈希值通常用于数据完整性校验、密码存储、快速查找等领域。核心特性包括确定性、高效性、抗碰撞性(难以找到两个不同输入产生相同输出)和雪崩效应(微小输入变化导致输出巨大差异)。
2025-11-30 12:40:52
318
原创 Floyd解析
Floyd算法是一种动态规划算法,用于计算图中所有顶点对之间的最短路径。其核心思想是通过逐步引入中间顶点优化路径,递推公式为dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])。算法步骤包括初始化距离矩阵,三重循环更新路径。时间复杂度O(n³),空间复杂度O(n²),适用于稠密图且能处理负权边(无负权环)。优点包括代码简单、直接获得所有顶点对最短路径,缺点是不适合大规模图和稀疏图。
2025-11-30 12:35:02
412
原创 号被盗了,别看!
本文介绍了Markdown编辑器的基本功能和使用方法。主要内容包括:Markdown的基本语法知识、新增的拖拽图片、数学公式支持等功能;常用快捷键操作指南;文本样式修改、链接图片插入、代码高亮等编辑技巧;列表、表格、注脚等元素的创建方式;以及KaTeX数学公式、甘特图、UML图表等拓展功能的用法说明。文章还提供了导出导入文件的操作指引,帮助用户更好地使用这款编辑器进行创作。
2025-08-22 17:42:49
840
原创 完全背包详解
较为简略描述:(若没看过上一期建议去看一下哦!相较于上一次的01背包最大的区别就在于:01背包中的物品只有选与不选两个选项而完全背包则可以选多种并且上一次化简时把j的那一层调换为反向循环但现在又要换回来(不懂得话看代码吧!
2025-07-25 22:11:00
386
原创 01背包问题解析
本文介绍了经典的01背包问题及其变种应用的解题方法。首先解释了01背包问题的基本概念和动态规划解法,给出了核心公式dp[i][j] = max(dp[i-1][j], v[i]+dp[i-1][j-w[i]])。然后通过多个洛谷例题展示了01背包问题的实际应用,包括采药问题、装箱问题等,并逐步介绍了从二维到一维的优化方法。最后提供了各题的C++代码实现,帮助读者理解如何将理论应用于实践。文章适合算法初学者学习01背包问题的基本解法及其优化策略。
2025-07-24 23:01:21
1824
原创 深度优先搜索巩固
本文介绍了深度优先搜索(DFS)算法及其应用。DFS是一种时间复杂度为O(n!)的递归算法,适用于解决多种题目但可能超时。文章通过洛谷多个例题展示了DFS的实际应用,包括血色先锋队(多源感染模拟)、奇怪的电梯(一维搜索)、入门(二维网格遍历)等题目,提供了关键代码实现。每个例题都分析了DFS的应用场景和特殊处理技巧,如越界判断、重复路径处理、结果记录等。文章最后指出虽然DFS有局限性,但在特定问题中非常有效,并附上了题目来源链接。
2025-07-23 23:08:47
648
原创 广度优先搜索写法与应用,另附洛谷:P1746 P1454 P9955 P2298 P2385详解
广度优先搜索,又称作宽度优先搜索,简称为“广搜(宽搜)”调用函数名为bfs(Breadth-First Search)
2025-07-22 22:24:38
628
原创 上课日志-2025-7-21:队列与栈的回顾
直接min一下所有方案,记得加abs()仅需判断栈顶是否为下一个所加入的数即可。q.empty()判断队首是否为空。如{ [ } ]就是不“美观”的。判断输出是否可行,但凡学过都会。q.push(x)队首插入x。q.size()队列中数个数。判断一个字符串中括号是否对应。再把m-1的人移动到队末。q.pop()删除队首。输出第m个人,再删除。
2025-07-21 21:51:44
702
原创 上课日志-2025-7-19
最后一句不用管他,因为double类型不精确,告诉你可以有小范围差值。先输入一次不带“+,-”号的分数,存入。充电宝先给剩余运行时间最短的充电。优先判断是否可以无限充电。计算方法:通分,加减分子。奶牛间的距离尽可能大。无需多言,直接查找!
2025-07-20 22:33:57
373
原创 上课日志-2025-7-18
把数组等分成两半,选择更接近查找数的一半,一直分下去(需有单调性)设置一个定价,出价比定价高的按照定价卖,低的不卖。找到最小的差值(与录取分数线最接近)求和。求定价取多少时赚到的钱最多,钱是多少。(题目难以解释,请自行理解)n批干草(不一定全部卖出)时间复杂度(logn)方法:仅需暴力出价即可。
2025-07-19 11:42:58
555
原创 上课日志-2025-17
(这题也简单,为什么注释?对√~~~~怕被老师干爆)注:名字中文为“函数”并非“f*cktion”普通题,我也不注释,你会不会不重要,反正我会。倒着输出就行(da*m!更简单了,注意字符串~符串~串~an~n。直翻:han nuo tower。可以把运算好的结果保存进数组中。简单题,俺不注释,因为太简单。懒得写注释,汉诺塔人人都会。再直翻:母鸡诺乌信号发射塔。递推硬改递推da*m!超过要判断的数递归停止。
2025-07-17 22:02:11
344
原创 上课日志-2025-7-15
本题类似模板,只需转换字符串为多个数字即可。浅浅问下,题目作者是不是接广了?优先选择较大时间的路程段用传送器。与上题相似度99.99%类似模板,但范围不确定。
2025-07-16 13:13:54
402
原创 上课日志-2025-7-11
第一题:思路:最少路程:尽量少相撞最多则反之易错点:max和min别搞错第二题:本题用结构体做第三题:题目分解:·M 行 N 列,坐在第 i 行第 j 列的同学的位置是 (i,j)D 对同学上课时会交头接耳。设置了 K 条横向的通道,L 条纵向的通道用通道隔开了 2 个会交头接耳的同学使交头接耳的学生的对数最少第四题:提示:每次合并果子越少越好(体力更少)运用到堆:priority_queue<int,vector<int>,greater<int> >小根堆,取最小在顶。
2025-07-13 11:25:14
377
原创 上课日志-2025-7-10
本作者do not like to use部分背包本题较简单2:思路:先排序,从地面到最高的石头,再到最低的,到第二高的, 到第二高低的............易错点。
2025-07-10 22:46:57
439
原创 上课日志-2025-7-9
1:方法:暴力枚举(会超时),只枚举一个点能过关键: 全题,分别输出思路:定点左上角的点,去确定长方形循环时记得加一哦四重循环,记得三,四重循环记得i,j要加一(其实两重)开2:Tips:有更好的方法3:(为原题作者精神状态感到堪忧????????????
2025-07-10 13:11:03
322
原创 上课日志-2025-7-6
数据过大用字符串(int 12147483647;long long 192233720368547807)可调用函数:goupper(小写转大写)反之 golower。调用函数:reverse( , )
2025-07-06 22:35:48
322
1
拼好Scratch,聪明人在博客上下Scratch(绝对正版,不然我吃博客)
2025-08-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅