算法
文章平均质量分 53
zl9355
这个作者很懒,什么都没留下…
展开
-
STL 库
【注意】可以把一个32/64位有符号或无符号整数赋值给一个bitset数,对负整数,在bitset数中存储的是补码。但是,反过来,通过一个bitset数想得到对应的整数是有限制的,不能将一个bitset数赋值给一个整数,只能通过to_ulong()函数得到这个bitset数转换为unsigned long的结果,如果超出范围,则报错。可以输出一个bitset数,输出的结果就是在该bitset数中存储的二进制数。甚至可以将一个负整数赋值给一个bitset数,这时在bitset数中存储的是这个负整数的补码。原创 2023-12-31 09:28:40 · 355 阅读 · 1 评论 -
高精度(简略版)
在我们进行计算的过程中,经常会遇到几十位,甚至几百位的数字的计算问题,也有可能会遇到小数点后几十位,几百位的情况,而我们面对这样的情况下, 和 的数据范围显然是不够使用的了。//-------------------------初始化------------------------------//乘法进位: c[i + j - 1] = a[i] * b[j] + x + c[i + j - 1];原创 2023-12-31 09:02:53 · 395 阅读 · 1 评论 -
STL容器
STL中的集合(set)类似,也是一个存储数据的容器,集合中每个元素都是唯一的,不可重复。(9)find(x):查找元素x在集合中的位置,若不存在,则返回end。(8)erase(it):删除it指向的元素,it为指向元素的迭代器。(10)lower_bound(x):返回大于或等于x的最小元素位置。(11)upper_bound(x):返回大于x的最小元素位置。(6)insert(x):将元素x插入到set中。(7)erase(x):删除所有等于x的元素。(1)size():求元素个数。原创 2023-12-31 09:53:58 · 331 阅读 · 1 评论 -
快速幂算法
这里的底数的幂是通过不断平方得到的,因此每次计算都只需要进行一次乘法操作,而不是像普通幂算法那样连续进行N次乘法操作。通过这种方式,快速幂算法将幂次计算的时间复杂度从O(N)降低到了O(log2N),大大提高了计算效率。特别地,当幂次N非常大时,快速幂算法的优势更加明显。**快速幂是一种高效的计算幂的算法,它的核心思想是将幂次转化为二进制形式,并利用二进制数的位运算性质来加速幂的计算过程。综上所述,快速幂是一种高效计算幂的算法,它通过利用二进制数的性质来加速幂的计算过程,并在模幂运算中有广泛应用。原创 2024-03-25 19:29:24 · 1302 阅读 · 1 评论