尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

P6706 [COCI 2010/2011 #7] KUGLICE

P6706 [COCI 2010/2011 #7] KUGLICE
📅 发布时间:2026/6/19 0:30:05

洛谷

由于每一个节点最多只会连出一条边,所以一个连通的图必定是基环树或者树。

如果是基环树,那么一定会有环,且经过移动后必定在环内,直接按照有环的情况输出即可。

对于一颗树,我们可以将这一个节点连向的点视为父亲,那么最后的答案就是这棵树的根。

我们可以通过并查集来模拟建树的过程,但是拆树的过程并不好模拟,怎么办?

我们可以考虑离线操作,要拆掉的边先不连接,反过来处理就成为了建边的过程。

剩下的就是对并查集建树以及判断是否有环的简单运用了,这里就不过多说明了,可以自己看代码。

代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,a[300005],b[300005],fa[300005];
int find(int x){if(x==fa[x])return x;return fa[x]=find(fa[x]);
}
bool merge(int x,int y){y=find(y);if(y==x)return false;fa[x]=y;return true;
}
bool f[300005];
struct Q{int op,x,res;
}q[300005];
signed main(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++)b[i]=a[i];cin>>m;for(int i=1;i<=m;i++)cin>>q[i].op>>q[i].x;for(int i=1;i<=m;i++){if(q[i].op==2){b[q[i].x]=0;}}for(int i=1;i<=n;i++)fa[i]=i;for(int i=1;i<=n;i++){if(!b[i])continue;if(!merge(i,b[i]))f[i]=1;}for(int i=m;i>=1;i--){if(q[i].op==1){int tmp=find(q[i].x);if(f[tmp])q[i].res=-1;else q[i].res=tmp;}else {if(!merge(q[i].x,a[q[i].x]))f[q[i].x]=1;}}for(int i=1;i<=m;i++){if(q[i].op==1){if(q[i].res==-1)puts("CIKLUS");else cout<<q[i].res<<endl;}}return 0;
}

相关新闻

  • AT_arc179_d [ARC179D] Portable Gate
  • P3576 [POI 2014] MRO-Ant colony
  • flink 1.20 物化表(Materialized Tables) - 详解

最新新闻

  • 微信小程序地址选择器:数据驱动下的省市区三级联动架构解析
  • ComfyUI TTP Toolset未来 roadmap:即将支持的SD3模型与动态切片功能预览
  • S12Z BDC硬件握手协议:非侵入式调试与ACK脉冲机制详解
  • 2026年真空搅拌脱泡一体机深度选型:如何匹配最佳方案 - 速递信息
  • Pwndocker常见问题解决:libc版本兼容性与依赖库问题排查
  • 2026温州放心贵金属回收,CCIC 中检授权收黄金回收铂金回收白银回收持证实体门店 - 中安检金银铂钻回收

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号