- 博客(14)
- 收藏
- 关注
原创 最小生成树Kruskal算法
图中选取一棵边权之和最小的树,则我们称之为最小生成树。(我们在概念上应该还有最大生成树,即为在一张无向联通图中选取一棵边权之和。在一张图中,最小生成树不一定唯一。算法来作为实现算法。
2023-12-06 20:04:15 353 1
原创 高精度算法
一般这类数字我们统称为高精度数,高精度算法是用计算机对于超大数据的一种模拟加,减,乘,除,乘方,阶乘,开方等运算。对于非常庞大的数字无法在计算机中正常存储,于是,将这个数字拆开,拆成一位一位的,或者是四位四位的存储到一个数组中, 用一个数组去表示一个数字,这样这个数字就被称为是高精度数。高精度算法就是能处理高精度数各种运算的算法,但又因其特殊性,故从普通数的算法中分离,自成一家。,然后我们左右指针,将字符反转到一个整型数组里,之所以反转,是为了进位时先处理。先预先放好进位的值,我们得到进位的值的方法是。
2023-11-23 21:03:41 876
原创 并查集学习笔记
并查集(Find−UnionSetFind−UnionSet他是一种树形数据结构,顾名思义,主要用于处理集合的合并与查询问题。并查集可以通过合并两个集合来形成一个新的集合,也可以查询某个元素所在的集合,用于判断两个元素是否属于同一个集合。并查集可以用数组实现,是一种十分精巧且实用的数据结构。推荐以下例题。总代码(以洛谷P1551return x;if (x!= y)return;i
2023-11-06 20:09:30 74
原创 C++学习心得
C++的学习,用一句老话说“书山有路勤为径,学海无涯苦作舟”。但只要你肯坚持,多难的算法都能迎刃而解。算法是C++的一个学习的重要部分,为什么要学习他,就是为了加快你的代码运行速度,拿出最优解。举个例子:最大子段和是一个经典例题,学过的人一眼看去,动态规划!但我们反过来想,如果你没有学过动态规划,那样你会怎么做?双重循环枚举左端点 LLL 和右端点 RRR,用 sumsumsum 统计和,之后进行比较,取最大值,但不过这样时间复杂度太高了,换个思路?利用前缀和 sumsumsum 数组来优化(没学过?看
2023-10-13 20:31:43 89
原创 动态规划专项
先要列好方向数组,将可以走到的,第。个字符的最少操作次数与将。结尾的最大上升子序列。个字符的最少操作次数。个字符的最少操作次数。为结尾的最大子段和。
2023-10-08 20:01:48 44 1
原创 背包专项总结(2nd)
个数选不选,所以由此得出方案总数就应该是选的方案和不选的方案之和。其次,做一个科目的时间不会超过所有题目时间的总和。遍背包,不要被那个左右大脑误解了。这题是多重背包模版加找答案,很简单。(我就是因为这个丢了92分),物品的个数需要统计幂的数量。项的数,它们的和正好是。,然后是完全背包求方案数。而是偶数的数,对于只选前。个学科独立刷题,是做。但不过注意第二层循环。
2023-10-06 09:24:12 39 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人