摘要: ~~这篇题解来源于一个大胆的想法~~ 桶排序有着极高的运行速度,却是一种用空间换时间的算法,具有很大的局限性,无法用来排太大的数据 于是,用map代替数组,以时间换空间,达到扩大实用性的目的 C++STL中map可以当作数组来用,类比桶排序,但是因为map是动态申请储存空间,相当于自动离散化,解决以 阅读全文
posted @ 2019-08-06 11:32 安昙つきし 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 请点击目录中的算法 (1). MST 1. "Prim算法" 2. "Kruskal算法" (2). 最短路径 1. "Floyd算法" 2. Dijkstra算法 3. "SPFA算法" 4. Bellman ford算法 (3). 强连通分量 1. "Tarjan算法(转载)" 2. "Kosa 阅读全文
posted @ 2019-08-04 22:02 安昙つきし 阅读(179) 评论(0) 推荐(0) 编辑
摘要: ST——LCA在线算法 【LCA练习】最近公共祖先(版本1) Description 给你一棵有根树,要求你计算出m对结点的最近公共祖先。 Input 输入文件的第一行包含两个整数n和m(2<=n,m<=200,000),其中n为结点个数,结点编号为1到n;m表示询问次数。 接下来n-1行,每行两个 阅读全文
posted @ 2018-08-31 13:02 安昙つきし 阅读(269) 评论(0) 推荐(0) 编辑
摘要: STL链表list 作为STL中的另一神器——链表list,你不可不知! (1).优势和劣势 1. 优势:功能众多,使用便利,插入删除快速 2. 劣势:功能太多,令人眼花缭乱,难以分辨 (2).用法 1.构造 list<int> l 建立一个空链表l list<int> l(length,num) 阅读全文
posted @ 2018-08-30 20:32 安昙つきし 阅读(273) 评论(0) 推荐(0) 编辑
摘要: STL集合set set是STL中的神器之一,它有两个功能 (1).排序 (2).去重 一.操作方法(需要头文件 set ) (1). 定义 set<int> s 定义一个整型的集合s (2). 插入和删除 s.insert(元素) 在s中插入一个元素 s.erase(数值) 删除集合s中等于这一数 阅读全文
posted @ 2018-08-30 20:31 安昙つきし 阅读(124) 评论(0) 推荐(0) 编辑
摘要: STL队列queue的扩展——优先队列 1. 优先队列的使用 优先队列有类似于堆的作用,因此,优先队列也分为大根堆和小根堆 队列中的元素会自动进行排序 接下来谈谈它们的使用方法: (1).定义 1.priority_queue<int> q 定义一个整型的大根堆q 2.priority_queue< 阅读全文
posted @ 2018-08-30 20:28 安昙つきし 阅读(268) 评论(0) 推荐(0) 编辑
摘要: STL队列queue的扩展——双端队列 你是否还苦恼与STL中队列的单边 插 入 别怕,deque来拯救你了 deque是一种能够支持双端插入的链式储存结构,使用起来十分方便 c++STL提供了以下几种操作: (1).定义 deque<类型> q 定义一个某种类型的双端队列 (2).压入和弹出 一. 阅读全文
posted @ 2018-08-30 20:27 安昙つきし 阅读(483) 评论(0) 推荐(0) 编辑
摘要: c++常见的STL容器 1 队列—queue 我想很多人都知道这个神器—queue 队列queue(FIFO),!!需要头文件 #incldue<queue> 有几种常见操作: 1.queue<类型> q 定义一个某类型的队列q 2.q.push(元素) 把一个元素压入队列q的队首 3.q.pop( 阅读全文
posted @ 2018-08-30 20:20 安昙つきし 阅读(258) 评论(0) 推荐(0) 编辑
摘要: Tarjan算法 消息的传递 描述: 我们的郭嘉大大在曹操这过得逍遥自在,但是有一天曹操给了他一个任务,在建邺城内有N(<=1000)个袁绍的奸细,将他们从1到N进行编号,同时他们之间存在一种传递关系,即若C[i,j]=1,则奸细i能将消息直接传递给奸细j。现在曹操要发布一个假消息,需要传达给所有奸 阅读全文
posted @ 2018-08-30 13:24 安昙つきし 阅读(362) 评论(0) 推荐(0) 编辑
摘要: Top_Sort+Floyd实现关键路径 阅读全文
posted @ 2018-08-30 13:23 安昙つきし 阅读(148) 评论(0) 推荐(0) 编辑