uva10720-图重建

题目链接 http://acm.hust.edu.cn/vjudge/problem/21421

解题思路

容易想到一种贪心策略:每个点都找剩余度数最多的几个点连线。

因为是简单图,所以找过的点不能再连线。

为什么这样对呢,有个定理Havel-Hakimi 。

代码

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#define MAX_LEN 10005
using namespace std;
int degree[MAX_LEN];
int n;
bool CanBuild()
{
    int i = n - 1;
    while(i>=0) {
        int u = degree[i];
        if(u < 0) return false;
        while(u) {
            if(i - u >= 0) degree[i-u]--;
            else return false;
            if(degree[i-u] < 0) return false;
            u--;
        }
        sort(degree, degree + i);
        i--;
    }
    return true;
}
int main()
{
    scanf("%d", &n);
    while(n != 0) {
        for(int i=0; i<n; i++) scanf("%d", &degree[i]);
        sort(degree, degree+n);
        if(CanBuild()) printf("Possible\n");
        else printf("Not possible\n");
        scanf("%d", &n);
    }
    return 0;
}

时间: 2024-09-30 04:39:27

uva10720-图重建的相关文章

【CodeForces】E. Xenia and Tree(分块 + LCA)

对于两个操作,对于操作1,每次储存要修改的点,直到存了sqrt(m)个点的时候进行更新,并将图重建一次(重新记录每个点到最近染色点的距离) 对于操作2,利用LCA求现在存着的点(也就是还没有更新到图上的点)和这个点的距离的最小值以及这个点在当前图中和最近的染色的那个点的距离. 话说LCA真是个好东西=  =!这几天补一补去 题解在这里:http://codeforces.com/blog/entry/8800 #include<cmath> #include<queue> #inc

11.12 noip模拟试题

题目名称 加密 冒泡排序图 重建可执行文件名 encrypt bubble rebuild输入文件名 encrypt.in bubble.in rebuild.in输出文件名 encrypt.in bubble.out rebuild.in每个测试点时限 1 秒 1 秒 1 秒内存限制 512MB 512MB 512MB测试点数目 10 20 10每个测试点分值 10 5 10是否有部分分 否 否 否题目类型 传统型 传统型 传统型测试题 #3 加密 加密[问题描述]有一种不讲道理的加密方法是:

解密:“无中生有”的计算机视觉

神奇的黑魔法. 投递人 itwriter 发布于 2016-09-25 17:33 评论(0) 有21人阅读 原文链接 [收藏] « 计算机视觉(Computer Vision,CV)是一门研究如何使机器“会看”的科学.1963 年来自 MIT 的 Larry Roberts 发表了该领域第一篇博士论文<Machine Perception of Three-Dimensional Solids>,标志着 CV 作为一门新兴人工智能方向研究的开始.在发展了 50 多年后的今天,我们就来聊聊最近

2016-12-7 12:52:21

从另一个博客园上搬的东西 宣传委员画了一个稿子: 好丑啊! 然后我想我要拿出自己的方案,不然没说服力. 于是花了两天找矢量素材. 接着放到班群里投票. 然而结果-- 还有一个是投错的.想投3结果投了2. 在这里保存一下我的效果图. 全部是矢量图!!!我找了好久的!!!! 我作业都没做你造吗!!! OI都没刷你造吗!!! 真·生无可恋. 又要拿来垫衣柜??????!!!!! 再见 再见 再见 再见 投递人 itwriter 发布于 2016-09-25 13:11 评论(6) 有674人阅读 原文

SRCNN

超分的开篇之作,2014 ECCV 港中文 Chao Dong 三层网络,文中还对各层网络的意义做出了解释 使用caffe训练模型,matlab做inference,代码见 http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html 700*700像素的图重建出来需要30s+,效果还是比较朦胧 可以用自己的图片做一下直观了解 path = 'E:\Download\超分辨率\test\test'; list = dir(path); for i1 = 1: s

P2754 [CTSC1999]家园

传送门 人在各个太空站流动,所以显然的网络流模型 因为不同时间能走的边不同,所以显然按时间拆点 但是因为不知道要多少时间,所以要枚举时间,动态拆点 每一点向下一个时间的同一点连流量为 $INF$ 的边,表示时间的转移 因为知道时间,所以可以求出每站的下一站,流量显然就是对应太空船的容量 每多一时间就拆一波点 不用每次都把图重建,每次在残量网络上继续跑就好了 当最大流大于或等于总人数时就的时间就是答案 用并查集判断源点和汇点是否联通,判断是否有解 时间复杂度$O(能过)$,空间复杂度玄学 跑得还挺

利用filter实时切换big5和gb2312,以及gb2312的简繁体

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

俑烟汲的诿樟透磺勒秤窗mvus

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

HDU 4612--Warm up 【无向图边双连通求桥数 &amp;&amp; 缩点后重建图求树的直径】

Warm up Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 4830    Accepted Submission(s): 1086 Problem Description N planets are connected by M bidirectional channels that allow instant transpor

Windows10 图标重建

有没有遇到电脑上某个图标成了黑块,白块或者没有图呢. 那这样的话就可以使用图标重建啦. 删掉Windows10的图标文件如下图 路径: %userprofile%\AppData\Local\Microsoft\Windows\Explorer 复制好粘贴到我的电脑地址栏. 或者将一下代码复制做成.bat文件右击以管理员方式运行就好. cd /d %userprofile%\AppData\Local\Microsoft\Windows\Explorer taskkill /f /im expl