• hdu 2454 Degree Sequence of Graph G(可简单图化判定)


    传送门

    Havel-Hakimi定理:

    给定一个非负整数序列{d1,d2,...dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化。

    进一步,若图为简单图,则称此序列可简单图化。

    定理描述:

    由非负整数组成的有限非递增序列,S={d1,d2,d3...dn},当且仅当S1={d2-1,d3-1...d(d1+1),d(d1+2)......dn}也是可图的,

    也就是说,序列S1也是由非负整数组成的有限非递增序列,S1是由S的删除第一个元素d1之后的前d1个元素分别减一后得到的序列。

    实例:

    判断   4   4  3  3  2 是否可图化

    首先按非升序排列 4   4  3  3  2

    删除4,然后把前4大的数-1 变为:3 2 2 1

    然后删除3,把前3大的数-1 变为:1 1 0

    删除1,把前1大的数删除 变为:1 0

    删除1,把前1大的数删除 变为: 0

    所以是可图化的

    判断  5 4 5 2 3 1 是否可图化

    首先按非升序排列 5 5 4 3 2 1

    删除5,然后把前5大的数-1 变为:4 3 2 1 0

    然后删除4,把前4大的数-1 变为:   2 1 0 -1

    出现了负数,不可图化

    判断  9 4 5 2 3 1 是否可图化

    首先按非升序排列 9 5 4 3 2 1

    删除9,然后把前9大的数-1 ,但数不够前9大,

    也就是会出现负数

    不可图化

    •代码 

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define ll long long
     4 ll a[2005];
     5 int n;
     6 bool Slove()
     7 {
     8     for(int i=0;i<n;++i)
     9     {
    10         sort(a+i,a+n,greater<int>());//非增序排列
    11         if(a[i]==0)
    12             return true;
    13         if(i+a[i]>=n)               //不存在前a[i]大个数
    14             return false;
    15         for(int j=i+1;j<=i+a[i];++j)//前a[i]的数大-1
    16         {
    17             a[j]--;
    18             if(a[j] < 0)
    19                 return false;
    20         }
    21     }
    22 }
    23  
    24  
    25 int main()
    26 {
    27     int t;
    28     scanf("%d",&t);
    29     while(t--)
    30     {
    31         scanf("%d",&n);
    32         ll sum=0;
    33         for(int i=0;i<n;i++)
    34         {
    35             scanf("%lld",a+i);
    36             sum+=a[i];
    37         }
    38  
    39         if(sum%2)
    40         {
    41             puts("no");
    42             continue;
    43         }
    44  
    45         if(Slove())
    46             puts("yes");
    47         else
    48             puts("no");
    49     }
    50 }
    View Code
  • 相关阅读:
    Spring、实例化Bean的三种方法
    Spring、编码剖析Spring管理Bean的原理
    Spring、Hello Spring
    Spring、控制反转与依赖注入(概念)
    Hibernate、批量操作数据
    Hibernate、3.6.7在线帮助文档
    Hibernate、乐观锁和悲观锁
    JQuery UI 精品UI推荐
    java 为pdf添加水印图片
    Hibernate 、继承关联映射
  • 原文地址:https://www.cnblogs.com/MMMinoz/p/11311804.html
Copyright © 2020-2023  润新知