摘要: Kruscal最小生成树算法,将边按照权值进行排序,每次贪心优先选择权值较小的边,并依次连接,若出现环则跳过,边数达到节点数-1时即可停止。时间复杂度O(Mlog2(M)) inline int kruskal(){/*最小生成树用于无向图,连边时可以按照单向边来连*/ sort(e+1,e+1+t 阅读全文
posted @ 2022-11-14 17:44 半步蒟蒻 阅读(85) 评论(0) 推荐(0)
摘要: 带修莫队,用于支持单点修改修改的区间查询,块长大小一般n的2/3次方理论最优,排序时先按l,再按r,最后按t升序排列 询问区间内不同颜色数,单点修改成另一颜色 #include<bits/stdc++.h> using namespace std; const int N=2e6+6; int n, 阅读全文
posted @ 2022-11-14 17:44 半步蒟蒻 阅读(51) 评论(0) 推荐(0)
摘要: 莫队,对询问离线并进行合理的排序,处理完一个区间的询问后,可以以常数的时间复杂度转移到下一个询问的答案,通常初始化l=1,r=0,奇偶化排序 离线询问结构体 struct ask{ int l,r,t,ans;/*如果每个询问不需要拆成多个,那么可以直接在这里记录答案*/ inline bool f 阅读全文
posted @ 2022-11-14 17:43 半步蒟蒻 阅读(22) 评论(0) 推荐(0)
摘要: struct Matrix{ int n,m,mod,a[N][N]; inline Matrix(int x=0,int y=0,int p=0){ memset(a,0,sizeof(a)); n=x,m=y,mod=p; } inline void reset(int x,int y,int 阅读全文
posted @ 2022-11-14 17:43 半步蒟蒻 阅读(105) 评论(0) 推荐(0)
摘要: 多源最短路,Floyed本质是dp,通过不断的松弛操作来获得最优,时间复杂度O(N^3)。 memset(w,0x3f,sizeof(w));/*初始化正无穷*/ for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)cin>>w[i][j]; for(int i=1; 阅读全文
posted @ 2022-11-14 17:42 半步蒟蒻 阅读(97) 评论(0) 推荐(0)
摘要: 一张图是二分图们当且仅当它的点可以被分成两部分,而所有的变的两个端点都分属不同部分,分为左部和右部。 一张图的一个匹配是一些没有公共端点的边。 匈牙利算法是枚举每一个左部点x没然后枚举x所连的边,对应出点y,若y没有被先前的左点匹配,直接将x匹配y,否则尝试让y的原配左点去匹配其他右点,若原配匹配到 阅读全文
posted @ 2022-11-14 17:42 半步蒟蒻 阅读(130) 评论(0) 推荐(0)
摘要: spfa最短路算法,可以判断负环,平均时间复杂度O(kE),k<=2,被卡时间复杂度O(VE) inline void spfa(int s){/*以s为源点的单源最短路*/ queue<int>q; memset(in,0,sizeof(in));/*清空标记*/ memset(dis,0x3f, 阅读全文
posted @ 2022-11-14 17:42 半步蒟蒻 阅读(105) 评论(0) 推荐(0)
摘要: 单源最短路,Dijkstra是基于贪心的思想,首先用dis[]记录源点到每个点的最短路径,再用一个数组保存已找到的最短路径的点,然后从dis中找最小值,该值则是源点到该值对应顶点的最短路径,并标记该店为已找到的最短路,选择最小值时,可以用线段树、平衡树、堆来进行优化,适用于无负权的图,时间复杂度O( 阅读全文
posted @ 2022-11-14 17:42 半步蒟蒻 阅读(129) 评论(0) 推荐(0)
摘要: 线段树扫描线,矩形面积并,面积的求法模拟扫描线从下向上扫过图形,并快速计算当前扫描线被截得的长度。将横边赋上不同的权值,下边为1,上边为-1。所有横边按照y坐标生序排序,每次先碰到下边,再碰到上边。 矩形周长并,纵边总长度=sum(2被截的线段条数扫过的高度),横边总长度=sum(|上次截得的总长- 阅读全文
posted @ 2022-11-14 17:41 半步蒟蒻 阅读(46) 评论(0) 推荐(0)
摘要: 树链剖分是将一棵树分成几条链,把树形变为线性以减少处理难度。 对于轻重链剖分,每个非叶子节点的儿子中儿子数量最多的那个儿子为重儿子,其余所有儿子为轻儿子。 重边指连接两个重儿子的边,其余的边为轻边。 重链指相邻重边连起来的一条重儿子的链。 每一条重链以轻儿子为起点。 dfs序中子树的dfs序是连续的 阅读全文
posted @ 2022-11-14 17:41 半步蒟蒻 阅读(126) 评论(0) 推荐(0)