P1113 杂务 *拓扑排序模板。 #include<bits/stdc++.h> #define For(i,l,r) for(int i=l;i<=r;i++) using namespace std; const int M=10005; queue<int>q; int n,ans,mx[M ...
分类:
其他好文 时间:
2019-10-30 18:49:41
阅读次数:
109
定义 二分图也称二部图,是图论里的一种特殊模型,也是一种特殊的网络流。其最大的特点在于,可以将图里的顶点分为两个集合,且集合内的点没有直接关联,如下图所示。 如果某个图为二分图,那么它至少有两个顶点,且其所有回路的长度均为偶数,任何无回路的的图均是二分图。 1.染色法判断二分图 染色法是对每一个点深 ...
分类:
编程语言 时间:
2019-10-30 18:30:22
阅读次数:
92
description 小w这学期选了门图论课,他在学习点着色的知识。他现在得到了一张无向图,并希望在这张图上使用最多n种颜色给每个节点染色,使得任意一条边关联的两个节点颜色不同。 小w获得一张n个节点m条边的基图,并得到了一份神秘代码。他会根据这份代码的内容构建完整的无向图。 while(1){ ...
分类:
其他好文 时间:
2019-10-27 12:29:26
阅读次数:
105
引入 AOV网络 在有向图中,用顶点表示活动,用有向边<Vi, Vj>表示活动 i 是活动 j 的必须条件。这种有向图称为用顶点表示活动的网络(Active on vertices),简称AOV网络。 在AOV网络中,如果活动Vi必须在Vj之前进行,则存在有向边<Vi, Vj>,并称Vi是Vj的直接 ...
分类:
编程语言 时间:
2019-10-27 00:54:16
阅读次数:
111
原创建时间:2018 08 07 14:08:52 两个结点找共同的爸爸 LCA 的概念 在 "图论" 和 "计算机科学" 中, 最近公共祖先 (英语:lowest common ancestor)是指在一个 "树" )或者 "有向无环图" 中同时拥有v和w作为后代的最深的节点。 ——Wikiped ...
分类:
其他好文 时间:
2019-10-26 21:18:47
阅读次数:
114
"codeforces" 思路 我顺着图论的标签点进去的,却没想到…… 可以发现排列内每一个数都是集合里的数异或出来的。 考虑答案的上界是多少。如果能用小于$2^k$的数构造出$[0,2^k 1]$内所有的数,那么答案就对这个$k$取$\max$。很显然这一定是上界。 考虑能不能构造出一组解。把$[ ...
分类:
其他好文 时间:
2019-10-25 23:15:18
阅读次数:
93
题目描述见[Luogu P2462](https://www.luogu.org/problem/P2462)。
算法分析
其实这道题并不难,关键是如何转化。因为需要找到最长的单词接龙,就可以用图论来看。单词接龙不会出现环,所以,这就是个`DAG`上的拓扑排序。 ...
分类:
其他好文 时间:
2019-10-25 13:24:44
阅读次数:
79
/* * 克鲁斯卡尔(Kruskal)最小生成树 */ void kruskal(Graph G) { int i,m,n,p1,p2; int length; int index = 0; // rets数组的索引 int vends[MAX]={0}; // 用于保存"已有最小生成树"中每个顶点... ...
分类:
编程语言 时间:
2019-10-23 14:02:24
阅读次数:
184
题目传送门(内部题77) 输入格式 第一行一个整数$n$,表示原先的树的点数接下来$n-1$行每行两个整数$a,b$,表示原先的树上的$n-1$条边,保证这$n-1$条边形成一棵树。 接下来一行一个整数$m$,表示不同的方案数。 接下来$m$行每行两个整数$u,v$,表示$m$个不同的加边方案,每行 ...
分类:
其他好文 时间:
2019-10-22 20:49:26
阅读次数:
69
给你n个叶子点互相的最短路长度,构造若干个点的最小生成树 这里引入的: 一个点到树的最短距离 ...
分类:
其他好文 时间:
2019-10-22 20:10:25
阅读次数:
92