奥义·模板总结

=================图论============

1:最短路

  1)floyd;

2)dijskltra;

3)bellman-ford;

4)SPFA;

http://niuyuxinf4.blog.163.com/blog/static/223521063201373113125284/


2:最新生成树(MST)

1)MST_Prim(G, r)

(1)将G剪切成两个集合A、B,A中只有一个点r

(2)取最小权的交叉边(x,y),x∈B, y∈B   

(3)将y加入A   

(4)如果已经加了n-1条边,结束。否则,转 (3)

2)MST_Kruskal(G)

   (1)将G所有条边按权从小到大排序;图mst开始为空

   (2)从小到大次序取边(x,y)

    (3)若加入边(x,y),mst就有环,则放弃此边,转(2)

   (4)将边(x,y)加入mst,如果已经加了n-1条边,结束。否则,转 (2)

http://niuyuxinf4.blog.163.com/blog/static/223521063201310554049827/

总结:堆优化的Dijkstra不能处理负边的情况,而SPFA则可以

堆优化的Dijkstra时间复杂度稳定,而SPFA的时间复杂度不稳定。

SPFA的实现比堆优化的Dijkstra简单,平均速度也较快。 

对于稠密图来说,用dijkstra要稳定的多,而对于稀疏图来说,用spfa是个不错的选择,在noip级别里,spfa的性价比最高。


   

图论相关:*并查集*


====================高精度===============
-------加法-----
http://niuyuxinf4.blog.163.com/blog/static/223521063201372784948489/
-------减法-----
http://niuyuxinf4.blog.163.com/blog/static/223521063201372792945690/
-------乘法-----
http://niuyuxinf4.blog.163.com/blog/static/223521063201372793458882/
------全能万进制------------

http://niuyuxinf4.blog.163.com/blog/static/2235210632013105529351/

你可能感兴趣的:(总结)