对max_flow做一个总结

1.目前做了有关最大流的题目:做得比较急所以可能有些东没有理解清楚。

2.无向图双向建边然后临接矩阵实现,临接表超时。但是对于那种边不是很复杂的用临接表建的话会很清楚。

3.很少用到临接表的ek算法,对于边很多的用dinic算法的临接矩阵实现。

4.拆点,如果一个顶点有容量限制,例如逃跑那道题每个口只能允许一个人跑,就拆点成两个然后连边,因为每个点都可以跑所以每个点都拆,然后跑一遍最大流,第五题,泰坦尼克号有限制的拆点,漂浮的薄冰可以拆,拆完之后的点的出边由拆点引出,然后跑一遍dinic算法。

5.二分匹配的输入输出要学会提高,peek函数,line[0xff]的运用到存储字符串,把匹配任务拆分,匹配不仅可以从计算机引出还可以从任务引出。

6.插线板那道题目,之间的关系要搞清楚,已经存在的插线板和能插的插头,适配器的无限数量。

 

7.临接表/矩阵建边,注意超级源点超级汇点,注意二分匹配,注意拆点,那个点该拆(发现都是在矩阵里面有一定的对应关系的拆点。)

 

所有的输入都可以借助一种转换算法::  就像编译原理里面所阐述的一种思想:转换转换转换。

int find(char *ch)
{
    for(int i=0;i<tmp;i++)
    {
        if(strcmp(name[i],ch)==0)
            return i;
    }
    strcpy(name[tmp],ch);
    return tmp++;
}

 

 

还有做一种总结:我尝试了一种突破性的选课,发现不应该这么做。

因为我没有基础而且一开始状态不太好,我没有遵循循序渐进的思想,一点一点把基础打好打牢。

接下来两年专攻全栈工程师方向,把这个方向做到卓越,然后就是自己的路咯。

posted @ 2016-05-15 16:19  指尖泛出的繁华  阅读(1344)  评论(0编辑  收藏  举报