题目大意:有一些岛屿,一开始由一些无向边连接。后来也有不断的无向边加入,每一个岛屿有个一独一无二的重要度,问任意时刻的与一个岛屿联通的所有岛中重要度第k大的岛的编号是什么。
思路:首先连通性一定要用并查集维护,然后就是联通快内的第k大问题,显然是平衡树。但是并查集的合并怎么搞?可以考虑按秩合并,这样的话就保证每次在平衡树中处理的元素尽量的少,就可以水过这个题了。
注意一下输出-1的判断...
分类:
其他好文 时间:
2014-10-17 12:03:21
阅读次数:
198
A*搜索算法,俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或在线游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。在此算法中,如果以 g(n)表示从起点到任意顶点n的实...
分类:
编程语言 时间:
2014-10-14 01:50:07
阅读次数:
223
The Algorithm Design Manual, 2ed
跳转至:
导航、
搜索
Springer - The Algorithm Design Manual, 2ed Steven S.Skiena 2008
目录
1
介绍2
算法设计3
数据结构4
排序和搜索5
图遍历6
加权图7
组合搜索与启发式8
DP9
I...
分类:
编程语言 时间:
2014-10-07 18:08:43
阅读次数:
282
终于学习了传说中的A*搜索~...先通俗的说一下A*搜索的原理,然后用代码实现~A*搜索是在基于广搜的基础上的一种启发式搜索方式(我也不知道启发式是什么意思),可以大大降低搜索时间,找出相对正确的最优路径。这里用到了特殊的存储结构---优先队列,可以优化将查找的复杂度从O(n)有化成O(logn);...
分类:
其他好文 时间:
2014-10-01 22:18:11
阅读次数:
289
启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无畏的搜索路径,提到了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。估价函数:从当前节点移动到目标节点的预估费用;这个估计就是启发...
分类:
其他好文 时间:
2014-09-29 14:21:40
阅读次数:
211
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5029Problem DescriptionThe soil is cracking up because of the drought and the rabbit kingdom is facing ...
分类:
其他好文 时间:
2014-09-22 02:39:21
阅读次数:
291
2.1.1 文档分析及编码转换: 文档处理第一步,是将文件或web服务器上的一系列二进制字节序列转换为字符序列。 在实际中,首先要判断出文档的编码方式(机器学习分类、启发式等方法),确定文档的类型(word?zip?)然后将字节序列转换成字符序列。 2.1.2 文档单位(document unit)...
分类:
其他好文 时间:
2014-09-15 21:04:59
阅读次数:
250
A*是一个比较经典的启发式寻路算法。是基于dijkstra算法,但是加入了启发函数,使路径搜索效率更高。实现起来很简单。不过要做到通用性高,比如支持各种不同类型的地图,甚至不仅仅是地图,而是个图结构如解决拼图游戏N-puzzle会用到的,就需要多花点心思。用C++实现的话,可以使用模板来适应不同的需...
分类:
其他好文 时间:
2014-09-15 19:26:29
阅读次数:
312
用并查集维护联通性。对每个联通块维护一个平衡树。合并时启发式合并。比较懒,用了pb_ds。 1 #include 2 #include 3 #include 4 using namespace std; 5 using namespace __gnu_cxx; 6 using namespace _...
分类:
其他好文 时间:
2014-09-13 10:32:35
阅读次数:
180
机器学习是AI领域的重要一门学科。前面我描述过,我计划从事的...
分类:
其他好文 时间:
2014-09-05 08:47:01
阅读次数:
208