摘要: 图的割点、桥和双连通分支的基本概念: 点连通度与边连通度在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。 一个图的点连通度的定义为,最小割点集合中的顶点数。类似的,如果有一个边集合,删除这个边集合以后,原图变 阅读全文
posted @ 2020-07-10 21:26 麦客_zeng 阅读(297) 评论(0) 推荐(0)
摘要: 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1005; 4 int cnt,n,m; ///n为顶点数,m为边数,cnt为强连通分量的个数 5 int low[N],dfn[N],num; 6 int sccno[N] 阅读全文
posted @ 2020-07-10 21:08 麦客_zeng 阅读(75) 评论(0) 推荐(0)
摘要: 参考博客:https://blog.csdn.net/xiji333/article/details/102828419 最大流模板: 1 #include<bits/stdc++.h> 2 #define INF 0x3f3f3f3f 3 using namespace std; 4 //Dini 阅读全文
posted @ 2020-07-10 20:54 麦客_zeng 阅读(181) 评论(0) 推荐(0)
摘要: 区间修改: #include<bits/stdc++.h> using namespace std; const int N=1e5+5; int sum[N<<2],lazy[N<<2],a[N]; void pushup(int rt) { sum[rt]=sum[rt<<1]+sum[rt<< 阅读全文
posted @ 2019-10-26 19:46 麦客_zeng 阅读(87) 评论(0) 推荐(0)
摘要: 描述 给定一张 n(n≤20) 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。 给定一张 n(n≤20) 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 阅读全文
posted @ 2019-10-20 21:57 麦客_zeng 阅读(98) 评论(0) 推荐(0)
摘要: 1 int SPFA(Graph &g, int s, int dist[]) 2 { 3 int inQueue[MAX]={0}; 4 int num[MAX]={0}; //记录入队次数 5 int i, j; 6 for (i = 0; i < g.n; i++)//初始化最大值 7 dis 阅读全文
posted @ 2019-10-11 22:05 麦客_zeng 阅读(87) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; const int N = 1e4+5; struct node{ int val,num; node(int newval,int newnum){val=newval;num=newnum;} bool operator<(const node &a) const{ return val<a.val; } 阅读全文
posted @ 2019-10-11 21:54 麦客_zeng 阅读(101) 评论(0) 推荐(0)
摘要: 描述 栋栋居住在一个繁华的C市中,然而,这个城市的道路大都年久失修。市长准备重新修一些路以方便市民,于是找到了栋栋,希望栋栋能帮助他。C市中有n个比较重要的地点,市长希望这些地点重点被考虑。现在可以修一些道路来连接其中的一些地点,每条道路可以连接其中的两个地点。另外由于C市有一条河从中穿过,也可以在 阅读全文
posted @ 2019-10-08 21:40 麦客_zeng 阅读(124) 评论(0) 推荐(0)
摘要: 描述: 在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都要画出与单词列表所对应的单词查找树,其特点如下: 根节点不包含字母,除根节点外每一个节点都仅包含一个大写英文字母; 从根节点到某一节点,路径上经过的字母依次连起来所构成的字母序列,称为该节点对应 阅读全文
posted @ 2019-09-17 21:04 麦客_zeng 阅读(195) 评论(0) 推荐(0)