zoukankan      html  css  js  c++  java
  • 140703

    今天木有比赛,算是认真的做了题目。嗯,掌握之前讲的东西而已。


    上午专注的搞了下堆。做了poj2051。

    详细的话,,等我集训结束去整理。代码就先不贴了。。


    上午给老队员讲题,,当然…完全没有讲题本身的意义,,讲了个poj1703,并查集,,然后打算什么时候写下poj1182,差不多的,然后研究下按秩压缩。


    然后是上午讲了图的内容,比较多内容,一下难以接受。(概念之类的是接受的,现在在读代码,然后后期会自己实现一下。)


    图的概念
    Graph Theory
    有向图,带权图
    图的表示,1.邻接矩阵,2.邻接表(方便BFS)


    最小生成树-Prim算法
    取图中任意一个顶点 v 作为生成树的根,之后往生成树上添加新的顶点 w。在添加的顶点 w 和已经在生成树上的顶点v 之间必定存在一条边,并且该边的权值在所有连通顶点 v 和 w 之间的边中取值最小。之后继续往生成树上添加顶点,直至生成树上含有全部顶点为止。


    -kruskal算法
    集合T表示已经表示已经选择的边,每次在E-T
    中选择权值最小的边,添加到T,且满足T不产生
    回路。当T的大小为V-1时算法终止。




    单源最短路径
    -Dijkstra 算法
    设源点为 v0,w(u, v)表示边( u, v )的权值
    当u,v之间没有边,w( u, v ) = inf
    L :表示当前从源点到各个结点的最短路径
    S :已求得最短路径的结点集合
    (1)L( v0 ) = 0, S = 空集
    (2)选取最小的L(u),令S = S + { u };对所有v 属于V – S,令L(v) = min(L(v), L(u) + w(u,v))重复(2)直至所有点的最短路径被求出


    每对顶点间的最路距离
    -Floyd 算法
    for( k = 0; k < n; k++ )
      for( i = 0 ; i < n; i++ )
      for( j = 0; j < n; j++ )
    if( dist[ i ][ j ] > dist[ i ][ k ] + dist[ k ][ j ] )
       dist[ i ][ j ] = dist[ i ][ k ] + dist[ k ][ j ];

    当然,还有很多关于图的基本操作,比如说判断是否成环等等的。需要慢慢研读,这东西不是一下子的事情。加油,fighting~


    v拓扑排序:

       1094、1270、2367

    v最小生成树:

       1258、2421、2485、1679、1751、2075、

    v最短路:

       1502、1797、1847、2139、2607、  1125、2240、1161、1556、1603、2263、2502、3268

    v一些图论、网络流入门题总结、汇总:

    http://hi.baidu.com/zfy0701/blog/item/b8332b5c7b2dd545fbf2c052.html



    恩,今天就这些,,明天要安排组队了。希望不和奇葩在一起

  • 相关阅读:
    跨域请求携带cookie
    vue keep-alive
    关于js replace 第二个参数时函数时,函数参数解析
    前端开发规范之CSS
    git命令集合(正在完善中...)
    怎么写jQuery的插件
    git命令集合
    GitHub创建静态网站预览方法
    正则表达式
    各种浏览器全屏模式的方法、属性和事件介绍
  • 原文地址:https://www.cnblogs.com/shengrang/p/3843485.html
Copyright © 2011-2022 走看看