【Havel-Hakimi定理】PKU-1659-Frogs' Neighborhood

Havel-Hakimi定理 <br />1,Havel-Hakimi定理主要用来判定一个给定的序列是否是可图的。<br />2,首先介绍一下度序列:若把图 G 所有顶点的度数排成一个序列 S,则称 S 为图 G 的度序列。<br />3,一个非负整数组成的有限序列如果是某个无向图的序列,则称该序列是可图的。<br />4,判定过程:(1)对当前数列排序,使其呈递减,(2)从S【2】开始对其后S【1】个数字-1,(3)一直循环直到当前序列出现负数(即不是可图的情况)或者当前序列全为0 (可图)时退出。<br />5,举例:序列S:7,7 阅读详情

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,到这一步出现了负数,因此该序列是不可图的。

这题是很裸的模板题……

题目

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct node
{
    int de,id;
}v[15];
bool cmp(node x,node y)
{
    return x.de>y.de;
}
int main()
{
    //freopen("a.txt","r",stdin);
    int t;int n;
    scanf("%d",&t);
    while(t--)
    {
        int n;
        scanf("%d",&n);
        int de[15];
        for(int i=0;i<n;i++)
        {
            scanf("%d",&v[i].de);
            v[i].id=i;
        }
        int flag=0;
        int map[15][15];
        memset(map,0,sizeof(map));
        for(int i=0;i<n;i++)
        {
            sort(v+i,v+n,cmp);
            for(int j=i+1;j<i+1+v[i].de;j++)
            {
                v[j].de--;
                if(v[j].de<0)
                {
                    flag=1;
                    break;
                }
                map[v[i].id][v[j].id]=map[v[j].id][v[i].id]=1;
            }
            if(flag)break;
        }
        printf("%s\n",flag?"NO":"YES");
        if(!flag)
        {
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<n;j++)
                {
                    if(j)printf(" ");
                    printf("%d",map[i][j]);
                }
                printf("\n");
            }
        }
        printf("\n");
    }
    return 0;
}


度序列(Havel-Hakimi定理) Problem Description 若把图G所有顶点的度数排成一个序列s,则称s为图G的度序列.例如一个无向图非递减度序列为                                                                      s:5,4,3,3,2,1 如果一个非负数整数组成的有限序列是某个无向图的度序列,则称该序列是可图的.现在,判定一个序列是否可 阅读详情

相关推荐

从零到飞:在Ubuntu 22.04上为你的无人机搭建PX4-Autopilot开发环境

本文详细指导在Ubuntu 22.04上搭建PX4-Autopilot开发环境,涵盖系统依赖安装、源码获取、编译目标选择及Gazebo仿真测试。通过优化构建过程和调试技巧,帮助开发者快速为无人机部署稳定的飞控系统,实现从仿真到实机的平滑过渡。

weixin_26878995的博客 490

Havel–Hakimi算法学习笔记(哈维尔算法)详细【Python】

Havel–Hakimi算法学习笔记(哈维尔算法)详细【Python】

m0_51796376的博客 2542

Win11系统下Abaqus2022与VS2022+oneAPI2023环境配置全攻略(附VUMAT子程序避坑指南)

本文详细指导在Windows 11系统下,为Abaqus 2022配置Visual Studio 2022与Intel oneAPI 2023的Fortran编译环境,以支持VUMAT等用户子程序开发。内容涵盖软件安装顺序、环境变量关联、快捷方式修改及关键验证步骤,并提供了首个VUMAT子程序的实战编写与模型验证方法,帮助用户高效搭建稳定可靠的仿真开发平台。

pytorch8learner的博客 319

通过度序列生成一个随机图

d = [13,13,13,13,11,12,12,5,7,12,7,11,7,12,12,5,3,5,7,5,3,5,3,3,7,11,11];%预设的原图度序列 n = length(d); V = []; tab1 = []; tab2 = []; s=0; count = 0; alen = 1; blen = 1; vlen = 1; for i = 1:n s = s + d...

wearlee的博客 1483

5.4 磁悬浮轴承控制系统仿真:在MATLAB/Simulink中搭建包含功放、传感器模型的闭环系统模型,进行稳定性与动态性能仿真

磁悬浮轴承控制系统仿真方法 摘要:磁悬浮轴承控制系统仿真需建立包含转子动力学、传感器、控制器、功率放大器和电磁执行器的高保真非线性模型。通过MATLAB/Simulink搭建闭环系统,重点建模传感器带宽限制与噪声、功放饱和特性以及电磁力非线性。仿真分析包括时域阶跃响应、扰动抑制测试,频域稳定性分析(伯德图、奈奎斯特图),以及参数摄动下的鲁棒性验证。关键要验证控制算法在非线性因素影响下的稳定性和动态性能,为实际系统实现提供可靠依据。仿真中需特别注意物理量单位一致性和数字控制离散化效应。

技术工作者 1108

IEEE投稿完整流程——以IEEE Transactions on Cybernetics为例【附:论文格式模板】

前言 以下是官方的流程,包括了论文的格式和提交的流程,重要!重要!重要! 在IEEE的官网中,也有论文提交的文件 可以直接参考: 中文版: 作者指南 英文版: Manuscripts-Author-Guide 作者指南的版本指导流程可能和最新版的官网不一致!!! 或者在下面的链接中,按照你的论文类型,选择不同的论文模板: IEEE article template 以下以IEEE Transactions on Cybernetics 为例子 IEEE Transactions on Cyberne

XC___XC的博客 10万+

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

0、可图:一个非负整数组成的序列如果是某个无向图的度序列,则该序列是可图的。 1、度序列:Sequence Degree,若把图G所有顶点的度数排成一个序列,责成该序列为图G的一个序列。该序列可以是非递增序的、可以是非递减序列、可以是任意无序的。 2、Havel-Hakimi定理:给定一个非负整数序列{d1,d2,…dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化。进一步,若图为简单图,则称此序列可简单图化。 定理描述:由非负整数组成的有限非递增序列,S={d1,d2,d3…dn}

csyifanZhang的博客 4323

LDO稳定性分析

根据补偿方式和拓扑结构的不同,三个极点之间的相互位置有可能发生变化,但 是 LDO 通常采用较大的输出电容 Cout,以及较大的调整管也会导致较大的 Cpar, 所以 p1、p2 通常位于较低的频率处,而 p3 和 z1 则由于 Resr较小会位于较高的频 率处。不过幸运的是,对于较大的 Cout来说,只要选择合适的 Resr,就可以将左半平面零点 Z1 的频率降低,甚至使 Z1 进入单位增益带宽内,左半平面零点的进入将对相位有所改善,这不仅可以消除振荡的风险,还可以在单位增益频率处得到较好的相位裕度。

模拟芯片设计 1593

HavelHakimi定理

HavelHakimi算法简介:

计划好了再娶吧 1462

解密携程风控:user-dun算法中的自定义base64与多模式加密机制剖析

本文深入剖析了携程旅行APP风控核心组件libduncode.so中的user-dun算法。文章重点解密了其采用的自定义Base64编码机制与多模式加密选择逻辑,并详细阐述了如何通过动态分析与静态还原,理解算法与设备指纹的深度绑定关系,为逆向分析类似混淆加固的风控算法提供了系统的方法论。

weixin_29323049的博客 340

VMware ESXi +DELL虚拟化存储磁盘容量处于紧急状态问题的处理

1、环境介绍 exsi server两台(DELL R730 ): 192.168.3.206 VMware EXSi6.5 192.168.3.207 VMware EXSi6.5 磁盘存储柜一台(DELL SC2000): 192.168.3.208 2、故障处理 由于前期规划的卷空间过大,虚拟机文件逐年增大以后,造成卷的磁盘占用过与整个磁盘空间的容量,虚拟化平台可用容量爆掉,DELL SC2000自动切换到紧急状态,禁止所有磁盘I/O,exsi主机上的虚拟机无法开机 首先,安装

wolf1105的博客 3533

PKU 1659 Frogs' Neighborhood

转载请注明出处:http://blog.youkuaiyun.com/drecik__/article/details/7396982 /* * 简单的Havel定理的应用, 不懂的可以百度下这个定理; * 有些人暴力也过了, 如果数据多的话, 就不一定能过了; */ #include #include using namespace std; #define MAXN 1

Drecik__的专栏 683

视觉Transformer实战 | Transformer详解与实现

本文系统介绍了 Transformer 架构的核心原理与实现。相比传统 RNN 和 CNN,Transformer 凭借自注意力机制有效捕捉序列中的长距离依赖关系,支持并行训练,显著提升效率。其核心创新在于通过查询、键、值向量计算注意力权重,理解单词间的语义关联。架构包含编码器-解码器结构:编码器通过多头自注意力和前馈网络提取输入特征;解码器利用掩码自注意力和交叉注意力生成输出。本文使用 PyTorch 实现了缩放点积注意力、位置编码、层归一化等关键模块,并构建了完整的 Transformer 模型。

盼小辉丶的博客 4万+

pku1659 Frogs' Neighborhood

http://poj.org/problem?id=1659 贪心 自己YY了一个贪心,AC了。。。 后来才知道,竟然还是个定理。。。“Havel-Hakimi定理” 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 struct A 6 ...

weixin_30670965的博客 139

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Havel-Hakimi定理(判断一个度序列是否可图)

1,Havel-Hakimi定理主要用来判定一个给定的序列是否是可图的。 2,首先介绍一下度序列:若把图 G 所有顶点的度数排成一个序列 S,则称 S 为图 G 的度序列。 3,一个非负整数组成的有限序列如果是某个无向图的序列,则称该序列是可图的。 4,判定过程:(1)对当前数列排序,使其呈递减,(2)从S【2】开始对其后S【1】个数字-1,(3)一直循环直到当前

CillyB的博客 2714

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Havel—Hakimi定理(度序列)

对于图的所有顶点,我们可以统计出每个顶点的度。像这样的一串数字,我们称之为:度序列。那么反过来,给定一个序列,能否判断这个序列是可图的呢?这里有一个定理:Havel-Hakimi定理可以用来判定一个序列是否可图。判定过程:(1)对当前数列排序,使其呈递减,(2)从S【2】开始对其后S【1】个数字-1,(3)一直循环直到当前序列出现负数(即不是可图的情况)或者当前序列全为0 (可图)时退出。

stay hungry ! stay foolish! 2347

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Havel-Hakimi定理及其应用

Havel-Hakimi定理及其应用 Havel-Hakimi定理:由非负整数组成的非增序列s:A[0], A[1],.....,A[n](n>=2,A[0]>=1)是可图的,当且仅当序列s1:A[1]-1,A[2]-1, A[A[0]]-1,A[A[0]+1],.....A[n]是可图的。 Havel-Hakimi定理实际上给出了一个序列s构图方法:把序列s按照非递增顺序排好序后,从中选出度

c的专栏 1397

Havel 算法

Havel 算法小记 其实是一个不太重要的算法: 1,Havel-Hakimi定理主要用来判定一个给定的序列是否是可图的。 2,首先介绍一下度序列:若把图 G 所有顶点的度数排成一个序列 S,则称 S 为图 G 的度序列。 3,一个非负整数组成的有限序列如果是某个无向图的序列,则称该序列是可图的。 4,判定过程:(1)对当前数列排序,使其呈递减,(2)从S[2]开始对其后S[1]个数字-1,(3)...

纵无涯 945

Havel-Hakimi定理(握手定理)

Havel-Hakimi定理(握手定理) 由非负整数组成的非增序列s(度序列):d1,d2,…,dn(n>=2,d1>=1)是可图的,当且仅当序列: s1:d2– 1,d3– 1,…,dd1+1– 1,dd1+2,…,dn 是可图的。序列s1中有n-1个非负整数,s序列中d1后的前d1个度数(即d2~dd1+1)减1后构成s1中的前d1个数。 说白了就是先把第一个点(度数...

weixin_30905133的博客 492

POJ 1659

点击打开链接 Havel-hakimi  定理    判断可图性  简单的说,判断序列 7,7,4,3,3,3,2,1  是否可图,删除首项,其后的首项个数项每项-1后排序,由于图中不可能出现负度数的点,一旦发现负数,即不可图。7,7,4,3,3,3,2,1--> 6,3,2,2,2,1,0 --> 2,1,1,1,0,-1.(over)。 再举一个例子,判断序列:5,4,3,3,2,2,2

http://kingim.cn/ 1167
上一篇: 【搜索+强剪枝】UVA-11882 - Biggest Number
下一篇: 【树形dp】PKU-2486-Apple Tree
AndRing
博客等级 码龄15年 5粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值