度序列与Havel-Hakimi 定理

度序列:若把图G所有顶点的度排成一个序列s,则称s为图G的度序列

序列是可图的:一个非负整数组成的有限序列,

如果是某个无向图的度序列,则称该序列是可图的可图的

判断一个序列是否是可图的,可以用 Havel-Hakimi定理

Havel-Hakimi定理:由非负整数组成的非递增序列

s:d[1],d[2],d[3],...,d[n](n>=2,d1>=1)是可图的,

当且仅当s1:d[2]-1,d[3]-1,...,d[d1+1]-1,d[d1+2] ...d[n] 是可图的.

序列s1中有n-1个非负整数,s序列中d[1]后的前d[1]个度

(即d[1]-d[d1+1])依次减一,构成s1中的前d1个数

如:判断序列s:7,7,4,3,3,3,2,1是否可图

先删除s的首项7,对其后的7项每项减一

--> 6 3 2 2 2 1 0继续重复此步骤

--> 2 1 1 1 0 -1,到这一步出现了负数,

由于图中不可能出现负度数的顶点,因此该序列不可图

判断任意一个序列是否可图的具体过程:

(1)先将序列由大到小排序

(2)设最大的度数为 t ,将最大项删除,然后把最大度数后的 t 个度数分别减1

(实质是把度数最大的点与后几个点连边)

(3)重复上述两步,如果序列中出现了负数,则不可图,如果序列全部变为0,则可图。

时间: 2024-10-10 01:35:49

度序列与Havel-Hakimi 定理的相关文章

度序列可图性判断(Havel-Hakimi定理)

Havel定理描述 给定一个非负整数序列{d1,d2,-dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化.进一步,若图为简单图,则称此序列可简单图化. 可图化的判定比较简单: $d_1 + d_2 + d_3 +-+d_n = 0(mod2)$ $n-1geq d_{max}$ 关于具体图的构造,我们可以简单地把奇数度的点配对,剩下的全部搞成自环. 可简单图化的判定,有一个Havel定理,是说: 我们把序列排成不增序,即d1>=d2>=->=dn,则d可简单图化

POJ 1659 Frogs' Neighborhood(度序列构图)

题意  中文 根据Havel-Hakimi定理构图就行咯  先把顶点按度数从大到小排序  可图的话  度数大的顶点与它后面的度数个顶点相连肯定是满足的  出现了-1就说明不可图了 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N = 20; int mat[N][N], ord[N]; bool cmp(int i, int j) { retur

POJ 1659 Frogs&amp;#39; Neighborhood(度序列组成)

意甲冠军  中国 依据Havel-Hakimi定理构图即可咯  先把顶点按度数从大到小排序  可图的话  度数大的顶点与它后面的度数个顶点相连肯定是满足的  出现了-1就说明不可图了 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N = 20; int mat[N][N], ord[N]; bool cmp(int i, int j) { ret

poj 1659 Frogs&#39; Neighborhood (度序列)

Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 7295   Accepted: 3150   Special Judge Description 未名湖附近共有N个大小湖泊L1, L2, ..., Ln(其中包括未名湖),每个湖泊Li里住着一只青蛙Fi(1 ≤ i ≤ N).如果湖泊Li和Lj之间有水路相连,则青蛙Fi和Fj互称为邻居.现在已知每只青蛙的邻居数目x1, x2, ..

Havel–Hakimi algorithm(判断度数序列是否可图)

问题 J: Degree Sequence of Graph G 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Wang Haiyang is a strong and optimistic Chinese youngster. Although born and brought up in the northern inland city Harbin, he has deep love and yearns for the boundless oceans. After gr

【BZOJ4403】序列统计(Lucas定理,组合计数)

题意:给定三个正整数N.L和R, 统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量. 输出答案对10^6+3取模的结果. 对于100%的数据,1≤N,L,R≤10^9,1≤T≤100,输入数据保证L≤R. 题意:WYZ作业 L和R本身没有意义,等价于[1,R-L+1],共有R-L+1种取值方法 显然是一个阶梯状的东西 但我们直接算需要枚举长度,通分又很麻烦 考虑使用R-L填充长度不足N的区间,这样问题就转化为: 求长度为N,元素大小都在1到R-L之间的单调不降序列的数量 需要注意

【BZOJ 4403】 4403: 序列统计 (卢卡斯定理)

4403: 序列统计 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 653  Solved: 320 Description 给定三个正整数N.L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量.输出答案对10^6+3取模的结果. Input 输入第一行包含一个整数T,表示数据组数.第2到第T+1行每行包含三个整数N.L和R,N.L和R的意义如题所述. Output 输出包含T行,每行有一个数字,表示你所求出的答案对106+3

(度序列) poj 1659

Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 8215   Accepted: 3491   Special Judge Description 未名湖附近共有N个大小湖泊L1, L2, ..., Ln(其中包括未名湖),每个湖泊Li里住着一只青蛙Fi(1 ≤ i ≤ N).如果湖泊Li和Lj之间有水路相连,则青蛙Fi和Fj互称为邻居.现在已知每只青蛙的邻居数目x1, x2, ..

《University Calculus》-chaper8-无穷序列和无穷级数-泰勒定理的证明

泰勒定理: 证明: