zoukankan      html  css  js  c++  java
  • hdu 2454 Degree Sequence of Graph G (推断简单图)

    ///已知各点的度,推断是否为一个简单图
    #include<stdio.h>
    #include<algorithm>
    #include<string.h>
    using namespace std;
    int a[1010];
    bool cmp(int x,int y)
    {
        return x>y;
    }
    int main()
    {
        int t,n,i,j;
        scanf("%d",&t);
        while(t--)
        {
            int flag=1;
            scanf("%d",&n);
            for (i=0; i<n; i++)
                scanf("%d",&a[i]);
            sort(a,a+n,cmp);
            while (a[0] && a[n-1]>=0)
            {
                int i = 1;
                while (a[0]--)
                {
                    --a[i++];
                }
                ++a[0];
                sort(a,a+n,cmp);
            }
            if(a[n-1]<0)
                printf("no
    ");
            else
                printf("yes
    ");
        }
        return 0;
    }
    

    1。Havel-Hakimi定理主要用来判定一个给定的序列是否是可图的。

    2。首先介绍一下度序列:若把图 G 全部顶点的度数排成一个序列 S。则称 S 为图 G 的度序列。

    3,一个非负整数组成的有限序列假设是某个无向图的序列,则称该序列是可图的。

    4,判定过程:(1)对当前数列排序,使其呈递减,(2)从S【2】開始对其后S【1】个数字-1,(3)一直循环直到当前序列出现负数(即不是可图的情况)或者当前序列全为0 (可图)时退出。

    5,举例:序列S:7,7,4,3,3,3,2,1  删除序列S的首项 7 。对其后的7项每项减1,得到:6,3,2,2,2,1,0,继续删除序列的首项6,对其后的6项每项减1。得到:2,1,1,1,0,-1。在这一点上已经出现了负。因此,序列图不可。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    02 查看线程的进程id
    ceshi
    unity atom 配置
    unity 扩展编辑器二 新建窗体
    unity 扩展编辑器一(修改编辑器名称)
    unity 计算投资回报
    Unity sendmessage发送多个参数
    unity 利用ugui 制作技能冷却效果
    unity 角色旋转
    unity 改变场景
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4748737.html
Copyright © 2011-2022 走看看