A bug‘s life 虫子的生活(带权并查集)

2024-06-24 06:44

本文主要是介绍A bug‘s life 虫子的生活(带权并查集),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接: 2492 -- A Bug's Life (poj.org)

题目描述:

思路: 带权并查集,处理方法基本与食物链(http://t.csdnimg.cn/fSnRr)相同,没什么思维创新

但是一开始WA了几次,有些细节没有注意好,还是需要静下心来,好好分析问题,需要警惕!

参考代码:

//#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=2010;
int fa[N];
int dis[N];
int t,n,m;
void init(){for(int i=1;i<=n;i++){fa[i]=i;dis[i]=0;}return ;
}int finds(int x){if(fa[x]==x) return x;int res=finds(fa[x]);dis[x]+=dis[fa[x]];dis[x]%=2;fa[x]=res;return res;
}void unions(int x,int y){int u=finds(x);int v=finds(y);if(u==v) return ;fa[u]=v;dis[u]=1+dis[x]+dis[y];dis[u]%=2;return ;
}int main(void){scanf("%d",&t);int g=0;while(t--){scanf("%d%d",&n,&m);init();g++;printf("Scenario #%d:\n",g);int flag=0;for(int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);if(flag) continue;int u=finds(x);int v=finds(y);if(u==v){int res=(dis[x]+dis[y]+2)%2;if(res!=1) flag=1;}else unions(x,y);}if(flag){printf("Suspicious bugs found!\n");}else printf("No suspicious bugs found!\n");if(t) printf("\n");}return 0;
}

这篇关于A bug‘s life 虫子的生活(带权并查集)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089448

相关文章

随想录 Day 69 并查集 107. 寻找存在的路径

随想录 Day 69 并查集 107. 寻找存在的路径 理论基础 int n = 1005; // n根据题目中节点数量而定,一般比节点数量大一点就好vector<int> father = vector<int> (n, 0); // C++里的一种数组结构// 并查集初始化void init() {for (int i = 0; i < n; ++i) {father[i] = i;}

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

poj 3294(Life Forms) 2分+ 后缀数组

我曾用字符串hash写,但是超时了。只能用后最数组了。大致思路:用不同的符号吧字符串连接起来,构建后缀数组,然后2分答案,依次扫描后缀数组,看是否瞒住条件。 VIEW CODE #include<cstdio>#include<vector>#include<cmath>#include<algorithm>#include<cstring>#include<cassert>#

软件测试Bug等级划分

1. Blocker级别——中断缺陷 客户端程序无响应,无法执行下一步操作。 2. Critical级别――临界缺陷,包括: 功能点缺失,客户端爆页。 3. Major级别——较严重缺陷,包括: 功能点没有满足需求。 4. Normal级别――普通缺陷,包括: 1. 数值计算错误 2. JavaScript错误。 5. Minor级别———次要缺陷,包括: 1. 界面错误与UI

05-5.5.3 并查集的进一步优化

👋 Hi, I’m @Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771@qq.com 喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会

「Debug R」一个Seurat导致的Rstudio网页版经常被终止的bug

在网页版的Rstuio加载Seurat时,等待了很久都没有成功,刷新网页后就出现了如下的提示   报错信息 测试了其他包,例如ggplot2,都没有任何问题,唯独是Seurat出现了问题,因此我用关键词"seurat cause rsession terminated" 进行搜索,发现有人在Rstudio的社区上提出了这个问题,看来我并不是一个人遇到这个问题。 我尝试里帖子h

BUG cn.bing.com 重定向的次数过多,无法搜索内容

BUG cn.bing.com 重定向的次数过多,无法搜索内容 环境 windows 11edge浏览器 详情 使用Microsoft Edge 必应搜索显示"cn.bing.com"重定向次数过多,无法进行正常的检索功能 解决办法 检查是否开启某些科_学_上_网(翻_墙)软件,若开启,将 cn.bing.com、www.bing.com 两个网址加入白名单(PAC直连域名)重

如何使用kimi智能助手:您的智能生活小助手

Kimi智能助手是一款功能强大的AI工具,旨在帮助用户提高工作效率和生活品质。下面小编将详细介绍如何使用Kimi智能助手,涵盖其主要功能以及一些实用技巧。 一、Kimi智能助手的主要功能 多语言对话能力:Kimi擅长中文和英文的对话,可以与用户进行流畅的交流,解答用户的各类问题。智能搜索:Kimi能够快速准确地帮您找到所需信息,并提供详尽回答及信息来源。高效阅读:Kimi支持长文快速阅读和

Windows 与 Linux 下的 PAGE_ALIGN 页面对齐宏引发的 BUG

今天遇到了一个BUG,找了半天才定位到是 PAGE_ALIGN 宏导致的。 这个宏在 Windows 上和 Linux 上的定义不同,才得以引发了这次BUG的发生。   PAGE_ALIGN 的用处是对齐一个页面地址。 先来看看定义: // Windows#define PAGE_ALIGN(Va) ((PVOID)((ULONG_PTR)(Va) & ~(PAGE_SIZE

super4412下调试cmos驱动是的nternal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM问题解决

一直都觉得友善之臂的4412开发板的cmos硬件接口部分有问题,所以友善官方一直没有更新cmos摄像头驱动,但是还是得试着调, 我用的摄像头模块为ov5642,在把摄像头相关的板级配置都添加好后,编译内核,运行出现了 [ 2.970000] v4l2_i2c_subdev_init finished [ 2.975000] start read ov5642 id [