
算法
枚举、二分、递归、排序、哈希、高精度、搜索、图论、动态规划、数论
old sweet ᝰ
这个作者很懒,什么都没留下…
展开
-
枚举算法练习
最长平台 (简单)总时间限制: 1000ms 内存限制: 65536kB描述已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。试编写一个程序,接收一个数组,把这个数组最长的平台找出 来。在上面的例子中3-3-3就是最长的平台...原创 2020-03-31 00:05:35 · 497 阅读 · 0 评论 -
最短路算法(3种算法)
1.最短路最短路,顾名思义,最短的路径。我们把边带有权值的图称为带权图。边的权值可以理解为两点之间的距离。一张图中任意两点之间会有不同的路径相连。最短路径就是指连接两点的这些路径中最短的一条。我们有四种算法可以有效地解决最短路径问题,但是当出现负边权时,有些算法不适用。2. Floyd算法(解决多源最短路径):时间复杂度O(n^3), 空间复杂度(n^2)推荐一篇博客。写的非常易懂:Flo...原创 2020-03-29 23:00:13 · 2135 阅读 · 0 评论 -
c++中list用法
list是一个双向链表容器,可高效的进行插入和删除元素。list不可以随机存取元素,不支持at函数与operator[]操作符。#include <list>头尾的添加移除操作list.push_back(elem); //在容器尾部加入一个元素list.pop_back(); //删除容器中最后一个元素list.push_front(ele...原创 2020-03-27 00:12:48 · 5882 阅读 · 0 评论 -
c++中set用法
set是STL中一种标准关联容器。它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交(set_intersection),差(set_difference) 并(set_union),对称差(set_symmetri...原创 2020-03-27 00:07:59 · 689 阅读 · 0 评论 -
STL7个常用容器的比较
详见STL7个常用容器的比较原创 2020-03-27 00:05:40 · 207 阅读 · 0 评论 -
c++中map用法
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见...原创 2020-03-26 23:52:35 · 175 阅读 · 0 评论 -
c++中queue用法
queuequeue模板类的定义在 #include <queue> 头文件中。与stack模板类很相似,queue模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型。定义queue对象的示例代码如下:queue q1;queue q2;queue的基本操作有:入队,如例:q.push(x); 将x...原创 2020-03-26 23:23:54 · 966 阅读 · 1 评论 -
c++中stack用法( 算法竞赛入门)
文章目录1. stack介绍2. stack对象构造方法(定义方法与其它容器相同,typename可以是任意基本数据类型或容器)3. stack容器内的常用函数4.stack的常见用途1. stack介绍Stack是一个容器类的改编,翻译为栈,是STL中实现的一个先进后出的容器.使用头文件 #include <stack>2. stack对象构造方法(定义方法与其它容器相同,t...原创 2020-03-25 16:56:23 · 933 阅读 · 1 评论 -
c++中vector用法(涵盖算法题中知识点)
文章目录1. vector1.1 vector的说明1.2 特别注意1.3 vector实例2. vector 创建与初始化3.vector 常用内置函数4. vector 中元素的访问4.1 从vector中读取元素4.1.1 通过下标4.1.2 通过迭代器4.1.3 c++11新特性4.2 向vector中添加元素5. vector 常用算法1. vector1.1 vector的说明...原创 2020-03-25 14:03:19 · 781 阅读 · 0 评论 -
【C/C++】最大公约数和最小公倍数(辗转相除、更相减损、stein)
一、最大公约数和最小公倍数数学性质:如果b是A和B的公约数,那么:b也是A+B的约数,即b是A,B,A+B的公约数。b也是A-B的约数,即b是A,B,A-B的公约数。更一般地,对于任意整数x、y,b也是Ax+By的约数,即b是A,B,Ax+By的公约数。根据上一条性质,r = A - kB = A mod B,所以A mod B也是A+B的约数,即b是A,B,A mod B的公约数用式子写...原创 2020-02-11 20:31:10 · 1356 阅读 · 0 评论