https://codeforces.com/contest/1131/problem/F

题解:并查集+路径压缩+DFS+树

/*
*@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=150000+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;
int vis[N];
int pre[N];
char str;
vector<int>G[N];
int find(int x){if(pre[x]==x)return x;return pre[x]=find(pre[x]);
}
void add(int a,int b){int rx=find(a);int ry=find(b);if(rx!=ry)pre[rx]=ry,G[ry].push_back(rx);
}
void dfs(int rt){printf("%d ",rt);int sz=G[rt].size();if(sz==0)return;for(int i=0;i<sz;i++){int k=G[rt][i];if(vis[k]==0){vis[k]=1;dfs(k);vis[k]=0;}}
}
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endifscanf("%d",&n);for(int i=1;i<=n;i++)pre[i]=i;for(int i=1;i<n;i++){scanf("%d%d",&m,&k);add(m,k);}for(int i=1;i<=n;i++){if(pre[i]==i){vis[i]=1;dfs(i);vis[i]=0;break;}}//cout << "Hello world!" << endl;return 0;
}

Asya And Kittens相关推荐

  1. 【CodeForces - 1131F 】Asya And Kittens(并查集,思维)

    题干: Asya loves animals very much. Recently, she purchased nn kittens, enumerated them from 11 and nn ...

  2. F. Asya And Kittens

    http://codeforces.com/contest/1131/problem/F 题意:有n只猫相邻有隔板隔着,n-1对(x,y)输入表示取下某一隔板能使x与y猫在一起,取下后两笼合并,里面的 ...

  3. [CF1131F] Asya And Kittens

    Description: 给定n个点的序列,一开始有n个块,每次将两个块合并,并告诉你这两个块中的一对元素,求一种可能的原序列 Hint: \(n \le 1.5*10^5\) Solution: 实 ...

  4. CF1131F Asya And Kittens

    [Luogu-CF1131F] 给定n个点的序列,一开始有n个块,每次将两个块合并,并告诉你这两个块中的一对元素,求一种可能的原序列 我们可以建立一个由多个二叉树组成的森林,并用并查集维护每个节点所在 ...

  5. Codeforces Round #541 (Div. 2)

    Codeforces Round #541 (Div. 2) 题号 题目 知识点 A Sea Battle 思维 B Draw! 贪心模拟 C Birthday 思维 D Gourmet choice ...

  6. php网页爬虫-简单的类

    class PhpSpiders { public $useragent ; //user-agent public $title ; // 标题 public $encoding ; //编码 pu ...

  7. Codefroces1077F2. Pictures with Kittens (hard version)

    Codefroces1077F2. Pictures with Kittens (hard version) 做法:裸的单调队列优化dp #include <bits/stdc++.h> ...

  8. Codeforces 1077F2 Pictures with Kittens (hard version)(DP+单调队列优化)

    题目链接:Pictures with Kittens (hard version) 题意:给定n长度的数字序列ai,求从中选出x个满足任意k长度区间都至少有一个被选到的最大和. 题解:数据量5000, ...

  9. Codeforces Round #521 (Div. 3): F. Pictures with Kittens(DP+单调队列)

    题意: 你有n幅画,第i幅画的好看程度为ai,再给你两个数字k,x,表示你要从中选出刚好x幅画,并且相邻两幅画的距离不能≥k,好看程度之和最大能多少,选不出来输出-1,F1数据范围<200,F2 ...

最新文章

  1. 理解 IEnumerable 与 IEnumerator
  2. ZooKeeper与Eureka对比
  3. Oracle编程入门经典 第8章 索引
  4. LeetCode5-最长回文子串原理及Python实现
  5. 多线程的两种实现方式和区别?
  6. kinect数据读取
  7. 【APIO2010】巡逻
  8. 2021-2025年中国电动陶瓷球阀行业市场供需与战略研究报告
  9. golang刷Leetcode系列 --- 实现strStr()
  10. Javascript第五章删除、克隆、插入、替换方法源码第九课
  11. 数值积分方法的c语言实现,编程实现数值积分的几种--方法 c语言.doc
  12. linux 软件应用
  13. 怎么把索尼摄像机拍摄的RSV文件修复转换为MXF视频
  14. NSA机密文件泄密者如何暴露身份
  15. 34 WebGL物体的点光源的效果(逐顶点处理光源光照效果)
  16. javascript函数传参
  17. 關於微軟TTS的筆記
  18. 怎么做才可以把电脑上的照片给做成视频?-markdown编辑器
  19. php函数有什么用,有用的的PHP函数
  20. 很经典的十五句话,从别人的blog上看来的!

热门文章

  1. python turtle调整画布宽高_turtle.screensize改变不了窗口大小?
  2. c实现多语言编程,C/C++编程中多国语言处理
  3. 翻转棋游戏c语言讲解,有没有人懂黑白棋(翻转棋)的核心算法
  4. 深圳职业技术学院计算机工程学院江学锋,毕业论文附属材料07013505刘丽.doc
  5. amd linux 性能,10年内AMD处理器有多大改进?Linux下皓龙和霄龙每瓦性能对决
  6. java 编译 忽略错误_Maven在Java8下如何忽略Javadoc的编译错误详解
  7. php ajax成功失败,php – 让$.ajax失败
  8. mybatis 动态字段与表中不一样_mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题...
  9. 微信小程序登录-利用Oenid实现白名单和黑名单
  10. 微信小程序实现文件下载 以及微信小程序保存Excel