Description

给定一张n个点m条边的无向图,请找到一个点数最多的点集S,满足:
1.对于点集中任何一个点,它至少与d个点集中的点相邻。
2.仅保留点集中的点后,剩下的图连通。

Input

第一行包含三个正整数n,m,d(2<=n<=200000,1<=m<=200000,1<=d< n),分别表示点数,边数以及度数限制。
接下来m行,每行包含两个正整数a,b(1<=a,b<=n,a不等于b),表示a点和b点之间有一条边。

Output

若无解,输出NIE。
否则第一行输出一个正整数k,表示你找到的点数最多的点集S的点数。
第二行输出k个正整数,按升序依次输出点集中的点的编号,若有多组解,输出任意一组。

Sample Input

4 4 2

1 2

2 3

3 4

4 2
Sample Output

3

2 3 4

HINT

请不要提交,尚无SPJ

Source

By Claris

首先为了满足第一个限制,原图中度数小于d的点肯定都不能留
然后就剩下一些联通块,其中每个点度数都是大于等于d的
然后dfs看大小,找一个最大的联通块.
这题挺简单的,为什么没多少人做..

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define MAXN 200010
#define GET (ch>='0'&&ch<='9')
using namespace std;
void in(int &x)
{char ch=getchar();x=0;while (!GET)    ch=getchar();while (GET) x=x*10+ch-'0',ch=getchar();
}
int n,m,D,ans,cnt;
int u,v,top;
int d[MAXN],del[MAXN],q[MAXN];
int sta[MAXN],block[MAXN];
int head=1,tail;
struct edge {   int to;edge *next;  }e[MAXN<<1],*prev[MAXN];
void insert(int u,int v)    {   d[u]++;e[++top].to=v;e[top].next=prev[u];prev[u]=&e[top];   }
void dfs(int x)
{if (del[x]) return;sta[++cnt]=x;del[x]=1;for (edge *i=prev[x];i;i=i->next)   if (!del[i->to])    dfs(i->to);
}
int main()
{for (in(n),in(m),in(D);m;m--)   in(u),in(v),insert(u,v),insert(v,u);for (int i=1;i<=n;i++)  if (d[i]<D) q[++tail]=i,del[i]=1;while (head<=tail){int x=q[head++];for (edge *i=prev[x];i;i=i->next)if ((--d[i->to])<D&&!del[i->to])    q[++tail]=i->to,del[i->to]=1;}for (int i=1;i<=n;i++)if (!del[i]){cnt=0;dfs(i);if (cnt>ans)    {   ans=cnt;    for (int j=1;j<=cnt;j++)    block[j]=sta[j];    }}sort(block+1,block+ans+1);if (!ans)   return puts("NIE"),0;printf("%d\n",ans);for (int i=1;i<=ans;i++)    printf(i==n?"%d\n":"%d ",block[i]);
}

【PA2015】【BZOJ4296】Mistrzostwa相关推荐

  1. 【快速上手mac必备】常用优质mac软件推荐(音视频、办公、软件开发、辅助工具、系统管理、云存储)

    本文章的主要内容是我作为一名大四学生.准程序员.up主这三种身份来给大家推荐一下 mac 上好用的软件以及工具.本人也是从去年9月份开始从windows阵营转移到了mac阵营,刚开始使用的时候,也曾主 ...

  2. 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 2774  Solved: 1230 [Submit ...

  3. 【C++自我精讲】基础系列二 const

    [C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变 ...

  4. (四)Asp.net web api中的坑-【api的返回值】

    (四)Asp.net web api中的坑-[api的返回值] 原文:(四)Asp.net web api中的坑-[api的返回值] void无返回值 IHttpActionResult HttpRe ...

  5. 【C++】【九】栈的应用

    [C++][九]栈的应用 就近匹配原理及其步骤: 中缀转后缀:

  6. 【跃迁之路】【495天】程序员高效学习方法论探索系列(实验阶段252-2018.06.15)...

    @(跃迁之路)专栏 实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长 实验期2年(2017.10.06 - 2019.10.06) 我将以自己为实验对象. ...

  7. (10)Spring Boot修改端口号【从零开始学Spring Boot】

    Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入: server.port=9090 常用配置: #### ...

  8. 【跃迁之路】【725天】程序员高效学习方法论探索系列(实验阶段482-2019.2.15)...

    实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长 实验期2年(2017.10.06 - 2019.10.06) 我将以自己为实验对象. 我将开源我的学习方 ...

  9. 【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅

    这是我悲惨的接近爆零的一次考试,但是本蒟蒻不能放弃,还是要总结的QAQ 答题卡 [题目背景] 八月是个悲惨的月份.先不谈炎热的天气,对于新生来说,八月意味着军训: 而对于高二高三的同学来说,八月意味着 ...

  10. 【跃迁之路】【554天】程序员高效学习方法论探索系列(实验阶段311-2018.08.13)...

    @(跃迁之路)专栏 [跃迁之路]奖励金计划正式开始 从2018.7.1起,[跃迁之路]奖励金计划正式起航,从今以后,, 每月1日,我会将自己个人上月收入的1%计入[跃迁之路]奖励金池,积累到足够金额后 ...

最新文章

  1. 基于jwt的用户登录认证
  2. 图像金字塔操作,上采样、下采样、缩放
  3. 无法解决 equal to 操作中 Chinese_PRC_CI_AS_WS 和 Chinese_PRC_CI_AS 之间的排序规则冲突...
  4. 可扩展Web架构与分布式系统
  5. java void方法_Java对象类的最终void wait(long ms)方法,包含示例
  6. 五年后存储会是什么样子
  7. [Informix] unload load
  8. IIS6.0系统日志中出现此错误Timer_MinBytesPerSecond,Timer_ConnectionIdle
  9. 129 MySQL数据类型(重要)
  10. spring循环依赖 第二讲
  11. SEO的日常主要工作做哪些
  12. Multisim: Inverting Amplifier Simulation
  13. 笔记本电脑怎么找计算机硬盘,如何给笔记本电脑硬盘分区
  14. android flashlight权限,大多数Android flashlight应用程序需要的权限数量非常多
  15. python做三维图片挑战眼力_查找「儿童大家来找茬图片」安卓应用 - 豌豆荚
  16. SQL 嵌套 N 层太长太难写怎么办?
  17. hihoCoder 1425 : What a Beautiful Lake(美丽滴湖)
  18. pycharm2017.3.3破解到2099年
  19. 一些冷门的JS技巧 顶
  20. SpringBoot集成Docker下的Redis哨兵(一主两从一哨兵)

热门文章

  1. Airsim动态 | 带你了解Airsim结构框架
  2. 概要设计说明书-模板(referrence)
  3. 什么是试剂空白和样品空白?
  4. 腾讯云服务器带贵的原因?
  5. MySQL慢查询日志详解
  6. 自动解魔方机器人 [开篇]
  7. FASM 1.67 程序者手册
  8. skimage 学习第三天:ski官网示例程序总结(2)
  9. Ubuntu下使用ipmsg(飞鸽传书)
  10. 硬件接口引脚定义(持续更新)