算法
文章平均质量分 59
命运从未公平
三枚筹码足矣,所有,或者一无所有
展开
-
并查集算法
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求联通子集、求最小生成树的Kruskal算法和求最近公共祖先(LCA)等。假设有编号为1,2,3……,n的n个元素,我们用一个数组fa[]来存储每个元素的父节点。一开始,我们先将它们的父节点设为自己。找到i的祖先直接返回,未进行路径压缩。原创 2024-03-11 11:31:54 · 997 阅读 · 2 评论 -
C++ 类、结构体
money += x;类中的变量和函数被统一称为类的成员变量。private后面的内容是私有成员变量,在类的外部不能访问;public后面的内容是公有成员变量,在类的外部可以访问。原创 2024-01-14 21:47:41 · 468 阅读 · 0 评论 -
二分算法(整数二分、浮点数二分)
此时区间变为[0,4],既保证了下标为4的2保留在区间里,又保证可以继续查找[0,4]中是否还有数字2,如果[0,3]中没有数字2了,则下标4就会是该区间唯一一个满足条件的值,也就会是最终结果。而如果[0,3]中还有其他的2,就如本例,那么下标为4的数字就会被下一次缩小区间所抛弃。另一种退出循环的方式就是l>r,l跑到r的右边,那么不管怎么说,l都不可能是最终目标。判断r是否是x:如果退出循环后a[r]==x,说明找到了x,并且这个x是左边界的x;接下来 q行,每行包含一个整数 k,表示一个询问元素。原创 2023-11-30 21:29:57 · 215 阅读 · 0 评论 -
归并排序算法
请你使用归并排序对这个数列按照从小到大进行排序。输出共一行,包含 n 个整数,表示排好序的数列。第二行包含 n 个整数(所有整数均在 1∼10。给定你一个长度为 n 的整数数列。输入共两行,第一行包含整数 n。并将排好序的数列按顺序输出。范围内),表示整个数列。原创 2023-11-23 23:54:25 · 393 阅读 · 0 评论 -
快速排序算法
第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。请你使用快速排序对这个数列按照从小到大进行排序。输出共一行,包含 n 个整数,表示排好序的数列。给定你一个长度为 n 的整数数列。输入共两行,第一行包含整数 n。并将排好序的数列按顺序输出。原创 2023-11-23 23:52:15 · 105 阅读 · 0 评论 -
sort()排序函数(c++)
sort()排序函数(c++)原创 2023-09-27 15:30:56 · 294 阅读 · 0 评论 -
辗转相除法求最大公约数,最小公倍数
用较大的数除以较小的数,再以除数和余数反复做,当余数为0时,取当前算式(被除数/除数=商)为最大公约数。求30和18的最大公约数:30/18=1余1218/12=1余612/6=2余030和18的最大公约数为6如果用小数除以大数,只是过程多了一步,结果没有差别,所以。18/30=0余1830/18=1余1218/12=1余612/6=2余0。原创 2023-09-18 14:14:16 · 464 阅读 · 0 评论