周末总结(21.11.14)

学习总结:
本周做了点并查集和线段树,学习了kruskal算法、拓扑排序还有欧拉路。因为做的大部分都是模板题就没写题解 ,Kruskal算法还有拓扑排序博客不想分开发了,想放到图论的博客里下周 一起发。

本周收获:
kruskal算法结合了并查集思想适合于稀疏图,应用于寻找最短连通路径,最短路径总长度,最短生成树等问题。
拓扑排序结合了搜索算法,必须有入度为0或出度为0的结点,当采用BFS算法时,队空时所有点必须都进过队列。若考虑把点按优先级分成不同层次,每层次拓扑排序时必须采用BFS实现拓扑排序,若处理上下层次的拓扑排序,可采用DFS实现。
优先队列自定义优先级的小细节:

struct cmp1 {
    
    
    bool operator()(int x,int y)
    {
    
    
        return x>y;//小的优先级高 ,从小到大排
    }
};
struct node {
    
    
    int x,y;
    friend bool operator<(node a,node b)
    {
    
    
        return a.x>b.x;//按x从小到大排
    }
};
priority_queue<node>q1;
priority_queue<int,vector<int>,cmp1>q2;

下周规划:主要练习二叉树和并查集,学习图论,CF若有比赛就参加(上写文章错过了,找时间补一下上周的div2)。


最近好忙,没有处理好学习和工作的时间分配,下周写个规划表,希望更有效率一点。

おすすめ

転載: blog.csdn.net/weixin_51443397/article/details/121321990