![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法知识
文章平均质量分 91
鱼香rose__
学习算法中...
展开
-
图论—树的直径(树形DP、BFS)
图论—树的直径(树形DP、BFS)树形DP两次BFS求具体节点原创 2024-03-27 20:56:03 · 899 阅读 · 0 评论 -
算法思想——三分
相信大家都对二分思想比较熟悉了,但是三分思想却不一定非常熟悉,因为在日常刷题过程中二分用的比较多一些,比如二分答案或是二分查找。我们都知道,二分思想在使用的过程中是有条件限制的,要求我们数据必须是线性的、单调的。而三分思想和二分的思想几乎一致,但是限制不同,所以解决的问题也不同。三分算法适用于求解凸性函数的极值问题,二次函数就是一个典型的单峰函数。二分利用的是函数的单调性,三分算法利用的是函数的单峰性。处,然后计算这两个点的函数值,如果。原创 2023-09-10 19:10:14 · 733 阅读 · 0 评论 -
背包九讲——九种背包问题的算法思路+代码分析
其实九种背包问题都是由01背包问题延伸而来,因为其他背包问题都是在01背包问题上加了一些其他条件或限制。只要01背包的思想完全掌握,那么在学习其他背包问题的时候都能够很快理解,在解决其他背包问题时基本只是在01背包基础上,增加一些判断,或是在01背包思想的基础上根据题目要求做出一些调整。因此本篇在刚开始介绍01背包的时候会花费较多笔墨,尽量保证大家能够理解01背包,接下来后面的背包问题就会只对于题目相对01背包作出的更改进行讲解。原创 2023-08-04 15:36:52 · 3105 阅读 · 0 评论 -
洛谷P1908 逆序对
我们知道,在归并排序思想中,是将数组分为全部为升序的子数组,通常是拆分为单个,因为单个必升序,然后两两进行合并,通过不断比较两数组中最小的数,并将较小的移到合并后的数组中,使得合并后的数组为升序排列。最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。逆序对问题的正确解法就是用归并排序的思路,但是这道题也可以使用树状数组来写,在这里对两种解法思路进行讲解。原创 2023-07-30 17:13:17 · 225 阅读 · 0 评论 -
C++STL常用容器整理归纳
vector可理解为变长数组,也就是不定长数组,在声明一个vector型的元素作为数组时,不需要声明它的长度。vector支持随机访问,对于任意下标 0原创 2023-07-14 15:59:54 · 312 阅读 · 0 评论 -
Trie字典树算法
Trie(字典树)是一种用于实现字符串快速检索的多叉树结构。Trie 的每个节点都拥有若干个字符指针,若在插入或检索字符串时扫描到一个字符 c,就沿着当前节点的c字符指针,走向该指针指向的节点。原创 2023-07-06 09:48:22 · 126 阅读 · 1 评论 -
关于C++算法中的时间复杂度问题(刷题中的个人见解)
算法题中的时间复杂度怎样计算???由数据范围反推时间复杂度及算法内容。原创 2023-03-11 23:39:15 · 854 阅读 · 1 评论