算法
ming_514
这个作者很懒,什么都没留下…
展开
-
HDU 1301 最小生成树,以及最小生成树的学习
这个题我用的是Kruskal算法 1.概览 Kruskal算法是一种用来寻找最小生成树的算法,由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪婪算法的应用。和Boruvka算法不同的地方是,Kruskal算法在图中存在相同权值的边时也有效。 2.算法简单描述 1).记Graph中有v个顶点原创 2017-07-02 17:00:55 · 366 阅读 · 0 评论 -
要巩固学习的算法总结
搜索:BFS、DFS 思路构造:贪心 思路构造:二分 数据结构:STL(优先队列、map、set) 数据结构:并查集 动态规划:经典问题(背包、LIS、LCS) 图论:最小生成树 计算几何:线段相交、叉积运用、多边形面积 图论:最短路 数学:扩展欧几里得、快速幂、逆元、组合数 数学:素数、欧拉函数、容斥 图论:网络流(简单) 数据结构:线段树、树状数组 动态规划;树形dp原创 2017-07-15 09:32:28 · 251 阅读 · 0 评论 -
动态规划题目整合
源博客链接:http://blog.csdn.net/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。 动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方转载 2017-07-15 09:46:39 · 472 阅读 · 2 评论 -
优先队列详解
优先队列:顾名思义,首先它是一个队列,但是它强调了“优先”二字,所以,已经不能算是一般意义上的队列了,它的“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队~ 百度百科上这样描述的: 优先级队列 是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素 优先队列的类定义 优先队列是0个或多个元素的集合,每个元素都有一个优先权或转载 2017-08-15 11:32:40 · 275 阅读 · 0 评论 -
Frequent values UVA - 11235
这个题目就是考察RMQ,本菜渣还是不太会写线段树,等会写了线段树以后,再做一下这个题目;这个题目用了,游标编码,然后对于出现的次数进行编码,然后,对于每个区间,都对应相应的次数,最后的时候,ans = max(Right[k1] - x + 1,y - Left[k2] + 1); ans = max(ans,RMQ(k1 + 1,k2 - 1)); 这是对于k2 - k1 > 1 的情况,当k2原创 2017-11-21 17:57:42 · 218 阅读 · 0 评论