
Acwing初级
文章平均质量分 68
Acwing基础课刷题笔记
hello world 999做题
hello world 999 无情的做题机器记录本
展开
-
【数学知识】04:扩展欧几里得算法
【代码】【P5数学知识】04:扩展欧几里得算法。原创 2023-10-18 18:22:37 · 65 阅读 · 0 评论 -
【数学知识】03:快速幂
的时间复杂度内求出结果,其中满足。快速幂的核心:反复平方法。原创 2023-10-18 18:20:40 · 90 阅读 · 0 评论 -
【数学知识】02:欧拉函数
如果需要求出1~N中,每一个数字的欧拉函数,这时再使用公式法(将每个数都分解质因数)将导致时间复杂度为。原创 2023-10-18 18:19:06 · 80 阅读 · 0 评论 -
【数据结构】03:队列
【代码】【P2数据结构】03:队列。原创 2023-10-18 17:41:08 · 49 阅读 · 0 评论 -
【数据结构】02:栈
【代码】【P2数据结构】02:栈。原创 2023-10-18 17:39:57 · 54 阅读 · 0 评论 -
【数据结构】01:链表
用数组模拟单链表,使用单链表构建一个邻接表(n个链表),用邻接表(最短路问题、最小生成树、最大流)进行存储图和树,数组实现的链表可以做指针实现的链表的所有事情,且数组实现的链表更快(静态链表),动态链表new操作太慢。用数组模拟双链表,双链表可用于优化某些问题,原创 2023-10-18 17:31:03 · 91 阅读 · 0 评论 -
【基础算法】08:离散化与区间合并
离散化问题的性质,整个值域的跨度很大,但是数据非常的稀疏。原创 2023-10-18 17:12:22 · 57 阅读 · 0 评论 -
【基础算法】07:位运算
tips:文章内容参考acwing算法刷题课程,题解图示内容及代码根据老师课程、以及自己对知识的理解,进行二次整理和部分补充,仅供学习参考使用,不可商业化。原创 2023-10-18 17:09:27 · 46 阅读 · 0 评论 -
【基础算法】06:双指针算法
参考:https://www.acwing.com/solution/content/23474/所以引出一个新的check方法:对于寻找是否有重复数字,一般用hash,没人用暴力。由于check函数写的不好循环太多,直接是暴力计算找重复数字的,显然不好。原创 2023-10-18 16:53:37 · 57 阅读 · 0 评论 -
【基础算法】05:前缀和与差分
的时间来实现对原数组,中间的某一段区间数值全部加上一个固定的值C,只需要在差分数组中修改两数即可。原创 2023-10-18 16:48:17 · 60 阅读 · 0 评论 -
【基础算法】04:高精度运算
【代码】【基础算法】04:高进度运算。原创 2023-10-18 16:44:16 · 54 阅读 · 0 评论 -
【基础算法】03:二分查找
定义某种性质,使得右半边的部分全部满足该种性质,而左半边的部分全部都不满足该种性质。而二分可以寻找性质的边界。二分的本质并不是单调性,而是一种边界。原创 2023-10-18 16:42:37 · 73 阅读 · 0 评论 -
【基础算法】02:归并排序
当你发现 4 比 3 大的时候,也就是说右边最大的元素都小于左边最小的元素,那么左边剩下的5和6都必然比右边的所有元素大,因此就可以不用数5和6的情形了,直接分别加上右半边的元素个数就可以了,这一步就降低到了O(n), 我们知道递归式 T(n) = 2T(n/2)+O(n) = O(nlogn)的,所以排序的成本是可以接受的,并且这一问题下,可以很自然地使用归并排序。这个时候我们注意到一个很重要的性质,左右半边的元素在各自任意调换顺序,是不影响第三步计数的。注:关于2路归并的归并树(倒立的二叉树)原创 2023-10-18 16:38:27 · 89 阅读 · 0 评论 -
【基础算法】01:快速排序
注:经典快速排序总是指定数组的最后一个元素作为基准值,随机快速排序指定数组或者某一部分中的随机值作为基准值。原创 2023-10-18 16:31:57 · 89 阅读 · 0 评论