https://codeforces.com/contest/1106/problem/D

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=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 cnt,flag,temp;
vector<int>v[N];
vector<int>ans;
int vis[N];
priority_queue<int,vector<int>,greater<int> >Q;
void dfs(int x){//cout<<x<<endl;ans.push_back(x);for(int i=0,j=v[x].size();i<j;i++){if(vis[v[x][i]]==0){Q.push(v[x][i]);//vis[v[x][i]]=0;}}if(Q.empty())return;int d=Q.top();Q.pop();while(vis[d]&&!Q.empty()){d=Q.top();Q.pop();}if(vis[d])return;vis[d]=1;dfs(d);
}
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endifscanf("%d%d",&n,&m);while(m--){int a,b;scanf("%d %d",&a,&b);v[a].push_back(b);v[b].push_back(a);}for(int i=1;i<=n;i++)sort(v[i].begin(),v[i].end());vis[1]=1;dfs(1);//vis[1]=0;for(int i=0,j=ans.size();i<j;i++)printf("%d ",ans[i]);//cout << "Hello world!" << endl;return 0;
}

C++版本二

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<math.h>
#include<string.h>
#include<queue>
#include<algorithm>
#include<vector>
#define ll long long
#define pb push_back
#define INF 0x3f3f3f3f;
#define test printf("here!!!")
using namespace std;
const int mx=1e5+10;
const int mod=998244353;
int vis[mx];
priority_queue<int,vector<int>,greater<int> >q;
vector<int>vec[mx];
void dfs(int st)
{printf("1 ");while (!q.empty()){int nx=q.top();q.pop();if (!vis[nx]){printf("%d ",nx);vis[nx]=1;for (int i=vec[nx].size()-1;i>=0;--i){if (!vis[vec[nx][i]]) q.push(vec[nx][i]);}}}
}
int main()
{int n,m,u,v;scanf("%d%d",&n,&m);for (int i=1;i<=m;++i){scanf("%d%d",&u,&v);vec[u].pb(v);vec[v].pb(u);if (u==1){q.push(v);}else if (v==1){q.push(u);}}vis[1]=1;dfs(1);
}

Lunar New Year and a Wander相关推荐

  1. 2020 C++ priority_queue 最大堆与最小堆介绍

    文章目录 1.问题描述 2.具体分析 3.其他方式 4.用最小堆解决问题 1.问题描述 通常在刷题的时候,会遇到最大堆.最小堆的问题,这个时候如果自己去实现一个也是OK的,但是通常时间不太够,那么如何 ...

  2. 什么叫时钟漂移(Wander)?时钟漂移与时钟抖动(jitter)的区别

    什么叫时钟漂移(Wander)?时钟漂移与时钟抖动(jitter)的区别 什么叫时钟漂移(Wander)?时钟漂移与时钟抖动(jitter)的区别 所谓时钟漂移:抖动的另一种形式,工程上给出这样的解释 ...

  3. Codeforces 1106F Lunar New Year and a Recursive Sequence (数学、线性代数、线性递推、数论、BSGS、扩展欧几里得算法)...

    Codeforces 1106F Lunar New Year and a Recursive Sequence (数学.线性代数.线性递推.数论.BSGS.扩展欧几里得算法) 哎呀大水题..我写了一 ...

  4. CERC17 Problem L - Lunar Landscape(差分,坐标系)

    CERC17 Problem L - Lunar Landscape Solution 如果只有AAA,我们可以简单地使用差分解决. 加入了BBB之后,可以把单位正方形用对角线拆成四个等腰Rt,统计等 ...

  5. 数论练习二之BSGS算法——随机数生成器,Matrix,Lunar New Year and a Recursive Sequence,Fermat‘s Last Theorem

    [SDOI2013] 随机数生成器 description solution 肯定是非常想找一个通项公式来表示第nnn个数的 依据形式,考虑化成等比数列 xi+1+k=a(xi+k)=a⋅xi+b+t ...

  6. 【愚公系列】2023年02月 .NET CORE工具案例-Lunar日历转换

    文章目录 前言 一.Lunar日历转换 1.安装包 2.相关代码 3.运行 二.用途 1.年历 2.月历 3.佛历 4.道历 5.上班摸鱼 前言 真正的日历产生,大约在一千一百多年前的唐顺宗永贞元年, ...

  7. 朴树 vs. Lunar少女组,ET选的人你究竟爱谁?

    两个多月前,阿里云联合多个音乐平台,发布了一张神级程序员必备歌单,据称是最适合编码时候听的音乐.引发了广大程序员.工程师和技术宅男的热烈反响."产品经理又改需求,五分钟后满血复活!" ...

  8. Baseline Wander Correction: 基线漂移补偿

    Baseline Wander Correction: 基线漂移补偿 问:为什么部分PHY不支持 POE(power over ethernet)? 答:首先要解释以太网是一种基带传输系统,其中MLT ...

  9. 夜明け前より瑠璃色な 音楽集 「Lunar Passport」Disc3 cue

    PERFORMER "AUGUST" TITLE "夜明け前より瑠璃色な 音楽集 「Lunar Passport」 Disc3" FILE "夜明け前 ...

最新文章

  1. R语言多因素方差分析及评估假设检验
  2. Delphi2010使用TImage打开jpeg图片错误的处理
  3. POJ 3420 Quad Tiling
  4. IOS用户界面的新视觉比例
  5. springboot map数据类型注入_SpringBoot结合策略模式实战套路
  6. Python的重要模块:collections (namedtuple、defaultdict、deque、Counter、OrderedDict、ChainMap)
  7. AJAX vs FLEX:执行,传送,解析JSON,HTML,XML,AFM格式效率比较.
  8. 总结(5)--- Numpy和Pandas库常用函数
  9. 容器监控实践—CAdvisor
  10. matlab陷波带阻滤波器,matlab陷波滤波器 陷波滤波器器应放在系统的闭环吗
  11. win10专业版开机画面模糊_为什么win10有些软件显示模糊_win10软件界面模糊的解决办法...
  12. 使用Power Automate (MS Flow) 发送审批邮件
  13. 网络口碑营销的优势和实施步骤
  14. windows系统:Xshell下载安装+连接服务器
  15. 锁定计算机不让u盘导出,怎样防止别人用U盘拷贝我的文件 禁止u盘拷贝文件设置方法图文详细教程...
  16. 记一次Windows Server2008木马清理过程
  17. 让机器“一叶知秋”:弱监督视觉语义分割
  18. 「6月雅礼集训 2017 Day4」暴力大神hxx
  19. 如何在网页中设置一个定时器计算时间?
  20. 动手写一个HTML5的无限循环滚动焦点图

热门文章

  1. centos安装anaconda_每天三分钟之TensorFlow学习03:Win下安装TF2
  2. oa部署mysql_oa系统部署
  3. fguillot json rpc_hyperf与go基于jsonrpc2.0通信
  4. bootstraptable 加载完成_bootstrap table onLoadSuccess加载服务端数据成功事件
  5. as点击发送广播_Apache Flink 中广播状态的实用指南
  6. axios delete有请求体吗_封装 axios 取消重复请求
  7. 6 MyBatis基于Mapper接口CURD
  8. ant如何形成时间轴和图库_高中历史时间轴来了(电子高清版),最新最完整的复习时间线整理,这里都有!...
  9. java 单例 缓存hashmap_java 、HashMap 和单例
  10. 深度学习和目标检测系列教程 5-300:早期的目标检测RCNN架构