![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
RuHua27
这个作者很懒,什么都没留下…
展开
-
POJ 2449 Remmarguts' Date(k短路)
学习了 k 短路的 A* 算法,A* 是一种求最短路的启发式方法,感觉挺厉害的。 维护一个结点的优先队列,每次优先让估值函数 f() 值最小的结点出队,对其所有邻接点进行松弛。 假设出队的结点是 x,且这是 x 第 m 次出队,则表示 s 到 x 的 m 短路已解出,原理类似于BFS。 其中估值函数 f(x) = g(x) + h(x) g(x) 为从起点 s 到点 x 的实际代原创 2014-01-25 20:57:26 · 442 阅读 · 0 评论 -
POJ 3463 Sightseeing (次短路,Dijkstra拓展)
据说用 A* 求 k 短路,令 k = 2 ,会爆栈。 做这道题目主要还是学习为主。。 显然求最短路和次短路的数量,再判断二者是不是差 1 即可。 由于要求次短路,对 Dijkstra 进行修改。 dis[] 数组不再只存最短路,而是用二维数组同时存最短路和次短路,初始化只有起点 s 的最短路是 0,其他均为 inf 用 cnt[][2] 来计数,第一维伟最短路数量,第二维为次短路数量,原创 2014-01-25 21:35:03 · 471 阅读 · 0 评论 -
POJ 3013 Big Christmas Tree(Dijkstra,裸)
一道比较裸的 Dijkstra。 不过好像还是再某些。。细节上卡了。。。很久 我对 Dijkstra 的理解:维护一个优先队列,优先让当前路径估计值最短的结点出队,并对其邻接点进行松弛。 可以保证出队结点的路径估计即为源点到该点的最短路,因为如果还存在更优的解,则表示还存在路径估计更小的点,出现矛盾。 #include #include #include #include usin原创 2014-01-25 21:08:02 · 477 阅读 · 0 评论 -
POJ 1251 Jungle Roads(超裸MST)
就当恢复手感了,最近刷刷图论。。。人弱不拆... 刚开始路径压缩那里有个小bug,已经注释了 #include #include using namespace std; const int maxe = 220, maxv = 30; typedef struct Edge { int fr, to, wt; }Edge; Edge edge[maxe]; bool cm原创 2014-01-20 12:08:42 · 476 阅读 · 0 评论 -
ZOJ3732 Graph Reconstruction(图的构造)
主要坑在了多解时,这时如果原创 2014-07-31 19:41:05 · 460 阅读 · 0 评论