0.可图:一个非负整数组成的序列如果是某个无向图的度序列,则该序列是可图的. 1.度序列:Sequence Degree,若把图G所有顶点的度数排成一个序列,责成该序列为图G的一个序列.该序列可以是非递增序的.可以是非递减序列.可以是任意无序的. 2.Havel-Hakimi定理:给定一个非负整数序列{d1,d2,...dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化.进一步,若图为简单图,则称此序列可简单图化. 定理描述:由非负整数组成的有限非递增序列,S={d1,d…
题意 题目链接 \(T\)组数据,给出\(n\)个点的度数,问是否可以构造出一个简单图 Sol Havel–Hakimi定理: 给定一串有限多个非负整数组成的序列,是否存在一个简单图使得其度数列恰为这个序列. 令\(S=(d_1,d_2,\dots,d_n)\)为有限多个非负整数组成的非递增序列. S可简单图化当且仅当有穷序列\(S'=(d_2-1,d_3-1,...,d(d_1+1)-1,d(d_1+2),...,d_n)\)只含有非负整数且是可简单图化的. 最后判断一下是否都是零就好了 感觉…
介绍: 哈维尔[1955]--哈吉米[1962]算法能够用来判读一个度序列d是否是可图化的. 哈维尔[1955]--哈吉米[1962]定理: 对于N > 1,长度为N的度序列d可以可图化当且仅当d*可以可图化 (d*是将d中最大的度delta删除,然后将当中delta个最大的度分别减去1得到的. 最小的可图化序列式d(1) = 0.) 证明: 充分性: 若N = 1.则是平庸的.对于N > 1.如果d为d(1) ≥ d(2) ≥ ...... ≥ d(n) . 如果简单图G*拥有度序列d*,能…
http://blog.sina.com.cn/s/blog_66357ab901012t2h.html delphi 函数isiconic 函数 判断窗口是否最小化 (2012-05-26 22:00:21) 转载▼ 标签: 杂谈   The IsIconic function determines whether the specified window is minimized (iconic). 函数isiconic返回值取决于指定窗口是否已经最小化. BOOL IsIconic(HWN…
题目链接:http://poj.org/problem?id=2513 题目大意:你有好多根棍子,这些棍子的两端分都别涂了一种颜色.请问你手中的这些棍子能否互相拼接,从而形成一条直线呢? 两根棍子只有在颜色相同的时候才能拼接.比如有两根棍子,第一根棍子的两端的颜色分别为blue green,第二根两端的颜色为blue red,那么他们就可以拼接成green blue blue red或者red blue blue green. 解题思路:跟之前写的POJ1386很像,都是首尾连通.但是这里需要用…
题目大意:有一群人他们有一些关系,比如A认识B, B认识C, 但是这并不意味值A和C认识.现在给你所有互相认识的学生,你的任务是把所有的学生分成两个一组, 住在一个双人房里.相互认识的同学可以住在一个双人房里. 输入数据: 有n个学生 m个关系(m对是相互认识的) 接下来m行是,是m个关系. 如果能够匹配成功则输出需要双人房的个数,否则输出'No'   思路:先判断是否是个二分图,可以使用黑白染色的方法来判断.然后再进行最大匹配.   #include<stdio.h> #include<…
hdu3594 Cactus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1131    Accepted Submission(s): 542 Problem Description 1. It is a Strongly Connected graph. 2. Each edge of the graph belongs to…
描述Worker对象: package android.java.oop11; // 描述Worker public class Worker { public String name; public int age; public void printlnNameAge() { System.out.println("name:" + this.name + " age:" + age); } } main测试方法: package android.java.oo…
题意:给你2个图,最大度为2.问两个图是否相似. 思路:图中有环.有链,判断环的个数以及每个环组成的人数,还有链的个数以及每个链组成的人数 是否相等即可. 如果形成了环,那么每形成一个环,结点数就会多增加1,如果没形成环,那么结点数就会是一样,根据这里,引入set来写,会轻松很多. #include<iostream> #include<cstdio> #include<cstring> #include<set> #include<algorithm…