https://codeforces.com/contest/1133/problem/F1

题解:贪心+并查集

首先统计每个节点的度的数量,按度的数量从大到小排序,然后并查集建树(类似于最小生成树)

C++版本一

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=200000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,q;
int ans,cnt,flag,temp,sum,u,v;
int a[N];
int pre[N];
char str;
vector<int>G[N];
struct node{int a,id;bool operator<(const node &S)const{if(a==S.a)return id<S.id;return a>S.a;}
}e[N];
int find(int x){return (pre[x]==x)?x:pre[x]=find(pre[x]);}
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){e[i].id=i;pre[i]=i;}for(int i=1;i<=m;i++){scanf("%d%d",&u,&v);e[u].a++;e[v].a++;G[u].push_back(v);G[v].push_back(u);}sort(e+1,e+n+1);for(int i=1;i<=n;i++){for(int j=0,k=G[e[i].id].size();j<k;j++){u=e[i].id;v=G[e[i].id][j];int tx=find(u);int ty=find(v);if(tx!=ty){pre[tx]=ty;cout<<u<<" "<<v<<endl;}}}//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Spanning Tree with Maximum Degree相关推荐

  1. 【Codeforces Round #544 (Div. 3) F2. Spanning Tree with One Fixed Degree】DFS

    F2. Spanning Tree with One Fixed Degree 题意 给你nnn个点mmm条边的无向联通图,找出一棵生成树,使111这个点的度=d=d=d. 1≤n,m≤1051 \l ...

  2. Directed Minimum Spanning Tree: Chu-Liu/Edmonds Algorithm

    我们的现代数据库大作业要求实现一个图查询系统,包括基于属性的子图查询.可达性查询(可选).最短路径查询(可选).TopK最短路径查询(可选).图形化展示(可选)等功能.分成子图同构查询小组以及可达性及 ...

  3. 2021ICPC(澳门) - LCS Spanning Tree(广义后缀自动机)

    题目链接:点击查看 题目大意:给出一个含有 nnn 个点的无向图,点权为一个字符串,每条边的边权为相邻两点的 LCSLCSLCS,本题的 LCSLCSLCS 定义为两个字符串的最长公共子串的长度 求出 ...

  4. 2019ICPC(上海) - Spanning Tree Removal(构造)

    题目链接:点击查看 题目大意:给出一个 nnn 个点的无向完全图,每次操作可以删掉包含 nnn 个点的一棵生成树中的所有边,问最多可以删几次 题目分析:典中典之欧拉通路构造题,构造方式如下: 在选定某 ...

  5. Minimum spanning tree HDU - 6954

    Minimum spanning tree HDU - 6954 题意: 给定n-1个点,编号从2到n,两点a和b之间的边权重为lcm(a,b).请找出它们形成的最小生成树. 2<=n<= ...

  6. Spanning Tree Protocol介绍

    Spanning Tree Protocol(STP)主要是用在网桥上,用来避免网络回路,并制造冗余连接(也就是保证网络的可靠性). 这里只是一个大概的介绍,具体的还是要去看IEEE 的 802.1D ...

  7. 《Boost》Part1 Minimum Spanning Tree

    <Boost>Part1 Minimum Spanning Tree 1.Boost中的最小生成树介绍 MST最小生成树,是图论中的基本算法,还有一种是最大生成树,此处暂不介绍. 最小生成 ...

  8. 数据结构与算法笔记:贪心策略之BSTBBST, Hashtable+Dictionary+Map, Priority Queue~Heap, Minium Spanning Tree

    BST & BBST BST(Binary Search Tree) 二叉搜索树,也就是使用二叉树来做查找 BBST(Balanced Binary Search Tree) 平衡二叉搜索树 ...

  9. 计算机网络之STP(Spanning Tree Protocol)生成树协议详解及其实验配置

    目录 1.STP概念 1.1  STP选举过程 1.1.1 根桥和根端口的选举 1.1.2 端口角色的选举 2.STP端口状态解释及转换 2.1 STP的五种端口状态 2.2 STP过程中的两种常见问 ...

最新文章

  1. Matlab中寻找二值图像最大联通域的算法
  2. guava中的Joiner
  3. pass information between XXX.Aspx and XXX.Aspx.cs
  4. [蓝桥杯2016初赛]方格填数
  5. 我的Linux系统开始学习的过程
  6. 关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法
  7. loadrunner:关联操作
  8. 初识循环神经网络(RNN)
  9. sympy模块解指数方程
  10. JZOJ 4.2 C组 打鼹鼠
  11. C# 格式化json移除空值,参数按照第一个字符的键值 ASCII 码递增排序(SM2签名)
  12. 利用Clover、QTTabBar,像浏览器一样使用你的资源管理器,效率办公必备!
  13. 用Python玩转数据(一)
  14. python 微信图文消息接口_用Python实现微信公众号API素材库图文消息抓取
  15. 用计算机打爸爸妈妈,看图写话打电脑
  16. NRF52832-QFAA、NRF52840-QIAA性能区别-蓝牙智能手环穿戴
  17. 面向对象进阶 三大特性
  18. Excel如何统计大于某值小于某值的数量
  19. Es6常见面试题必看!
  20. Thinkphp5关联模型的定义与使用

热门文章

  1. 工程勘察设计管理条例释义电子书_全国有多少注册勘察设计工程师?官方数据告诉你...
  2. laravel框架中文手册_laravel请求参数校验方法
  3. c语言算法竞赛入门经典百度云,《算法竞赛入门经典》CH-2(C语言)
  4. 抓取百度页面html,百度会抓取页面代码中的注释内容吗
  5. php批量修改标题,帝国CMS批量修改信息标题的方法
  6. python输出不重复的单词_python-如何在文本文件中创建所有单词的列表,但字母重复的单词除外...
  7. python代码用c语言封装_使用C语言扩展Python程序的简单入门指引
  8. Java中如何执行source命令,在Java中运行UNIX Source命令
  9. 一、Go语言环境搭建
  10. 三十五、深入Python的引用计数