[Sdoi2008]Cave 洞穴勘测

基因树构建全流程:从OrthoFinder到iTOL的保姆级教程(附兰科植物案例) 本文提供了一份从OrthoFinder到iTOL的基因树构建全流程保姆级教程。详细解析了利用OrthoFinder构建物种树、IQ-TREE构建无根基因树、Notung进行树调和生根,以及最终在iTOL中实现专业可视化的每一步操作与实战经验,并以兰科植物NB-ARC基因家族为例进行演示,帮助研究者系统掌握基因树分析方法。 阅读详情

BZOJ好了以后去交了这题,算是动态树补完

题目大意:

求一棵树上任意两点的连通性


这道题算是真真正正的link-cut tree了,之前的动态树题目都没有涉及link和cut操作

所以这道题让我发现了我在写cut过程中的一个错误,也让我更加深刻的体会到了link-cut tree的优美


对于修改,link cut即可

对于每个询问,看他们是否在同一棵树中


code:

//Lib
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<ctime>

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<queue>
using namespace std;
//Macro
#define rep(i,a,b) for(int i=a,tt=b;i<=tt;++i)
#define rrep(i,a,b) for(int i=a,tt=b;i>=tt;--i)
#define erep(i,e,x) for(int i=x;i;i=e[i].next)
#define irep(i,x) for(__typedef(x.begin()) i=x.begin();i!=x.end();i++)
#define read() (strtol(ipos,&ipos,10))
#define sqr(x) ((x)*(x))
#define pb push_back
#define PS system("pause");
typedef long long ll;
typedef pair<int,int> pii;
const int oo=~0U>>1;
const double inf=1e20;
const double eps=1e-6;
string name="",in=".in",out=".out";
//Var
struct T
{
	int LC,RC,FA;
	bool REV;
	#define lc(x) tree[x].LC
	#define rc(x) tree[x].RC
	#define fa(x) tree[x].FA
	#define rev(x) tree[x].REV
}tree[10008];
int n,m;
void Update(int x)
{
	if(rev(x))
	{
		swap(lc(x),rc(x));rev(x)^=1;
		rev(lc(x))^=1;rev(rc(x))^=1;
	}
}
void Zig(int x)
{
	int y=fa(x),z=fa(y);
	if(lc(z)==y)lc(z)=x;else if(rc(z)==y)rc(z)=x;fa(x)=z;
	fa(rc(x))=y;lc(y)=rc(x);fa(y)=x;rc(x)=y;
	Update(y);
}
void Zag(int x)
{
	int y=fa(x),z=fa(y);
	if(lc(z)==y)lc(z)=x;else if(rc(z)==y)rc(z)=x;fa(x)=z;
	fa(lc(x))=y;rc(y)=lc(x);fa(y)=x;lc(x)=y;
	Update(y);
}
bool isRoot(int x){return lc(fa(x))!=x&&rc(fa(x))!=x;}
void Push_Down(int x){if(!isRoot(x))Push_Down(fa(x));Update(x);}
void Splay(int x)
{
	Push_Down(x);
	for(int y,z;!isRoot(x);)
	{
		y=fa(x);z=fa(y);
		if(isRoot(y))
			if(lc(y)==x)Zig(x);
			else Zag(x);
		else
			if(lc(z)==y)
				if(lc(y)==x)Zig(y),Zig(x);
				else Zag(x),Zig(x);
			else
				if(rc(y)==x)Zag(y),Zag(x);
				else Zig(x),Zag(x);
	}
	Update(x);
}
void Expose(int x){for(int y=0;x;x=fa(x)){Splay(x);rc(x)=y;Update(x);y=x;}}
void Evert(int x){Expose(x);Splay(x);rev(x)^=1;}
void Link(int x,int y){Evert(x);fa(x)=y;}
void Cut(int x,int y){Expose(y);Splay(x);if(fa(x)==y)fa(x)=0;else{Expose(x);Splay(y);fa(y)=0;}}
bool Query(int a,int b)
{
	int x=a,y=b;
	Expose(y);
	for(y=0;x;x=fa(x)){Splay(x);if(!fa(x))break;y=x;}
	for(;rc(x);x=rc(x));
	return x==b;
}
void Work()
{
	int a,b;char ch[10];
	rep(i,1,m)
	{
		scanf("%s%d%d",ch,&a,&b);
		if(ch[0]=='C')Link(a,b);
		if(ch[0]=='D')Cut(a,b);
		if(ch[0]=='Q')puts(Query(a,b)?"Yes":"No");
	}
}
int main()
{
//	freopen((name+in).c_str(),"r",stdin);
//	freopen((name+out).c_str(),"w",stdout);
	scanf("%d%d",&n,&m);	
	Work();
	return 0;
}


YOLOv8改进,YOLOv8主干网络替换为ShuffleNetV2 ShuffleNet V2的设计原则:1.减少内存访问成本:通过优化数据传输路径,减少内存访问延迟,提高整体运算速度。2.考虑平台特性:针对不同硬件平台的特性进行优化设计,确保在目标平台上的高效运行。3.结构简洁高效:采用简洁而高效的模块设计,降低计算复杂度,同时保持或提升模型的预测准确性。下图,以四种不同计算复杂度水平下的准确性(在ImageNet验证集上的分类),速度和FLOPs的测量结果。(a, c) 为GPU结果,批量大小为8。(b, d) 为ARM结果,批量大小为1。 阅读详情

相关推荐

【车辆仿真】从0开始建立dSPACE RT Simulink工程:CAN通信(RTICANMM方法)

【工程环境信息】:本文基于链接文章搭建SCALEXIO Rack RTPC总线节点,用于与AutoBox通信硬件:上位机:惠普台式PC(Windows 11专业版)下位机(实时机):AutoBox (DS1006)板卡:DS6342软件:本文所使用的DBC链接提示:以下是本篇文章正文内容,下面案例可供参考!!!的部分一定记得配置,其他的按需配置RTICANMM的灵活度非常高,尽可能参考Help文档,理解相应的配置内容官方有RTICANMM的样例工程,在下方路径。

winnizap的博客 2381

洛谷 P2147 [SDOI2008]洞穴勘测 (线段树分治)

题目链接 题解 早就想写线段树分治的题了。 对于每条边,它存在于一段时间 我们按时间来搞 我们可把一条边看做一条线段 我们可以模拟线段树操作,不断分治下去 把覆盖\(l-r\)这段时间的线段筛选出来,用并查集维护联通性,回溯时撤销操作 注意不能使用路径压缩(不能破坏树的结构,方便撤销操作) Code #include<bits/stdc++.h> #define LL long lon...

weixin_30845171的博客 189

Keil C51开发必看:详解data/xdata/bdata内存分配陷阱与避坑指南

本文深入解析Keil C51开发中的data/xdata/bdata内存分配陷阱,提供针对51芯片的高效避坑指南。通过真实案例揭示Keil编译器的隐藏规则,分享内存优化策略和调试技巧,帮助开发者解决data溢出、xdata访问异常等典型问题,提升嵌入式开发效率。

v6b7n8m9q0的博客 1072

[BZOJ2049][[Sdoi2008]Cave 洞穴勘测][LCT]

[BZOJ2049][[Sdoi2008]Cave 洞穴勘测][LCT]思路:题目大意就不放了,貌似是一道LCT裸题。。。三个操作分别是linklink,cutcut和findfind。感谢这篇集训队论文:https://wenku.baidu.com/view/75906f160b4e767f5acfcedb以及黄学长的代码:http://hzwer.com/3921.html感觉LCT的复杂度全

羽裳 420

告别‘小目标’丢失!手把手复现DNANet红外检测网络(PyTorch版)

本文详细介绍了如何使用PyTorch从零实现DNANet红外小目标检测网络,重点解析了DNIM模块和CSAM注意力机制的设计与实现。通过实战教程,帮助开发者解决红外小目标检测中的特征提取和训练调参难题,适用于军事侦察、安防监控等场景。

weixin_28701593的博客 252

基于simulink的自动紧急制动系统(AEB)的功能验证

本文手把手指导使用Simulink构建自动紧急制动系统(AEB)模型,通过五个关键步骤完成功能验证:1)搭建车辆动力学模型;2)设计雷达传感器模型;3)开发基于碰撞时间(TTC)的决策逻辑;4)设计标准化测试场景;5)进行仿真分析。重点讲解了AEB的多级触发机制(预警、辅助制动、自动制动)和核心指标验证方法,包括制动时机判断、减速度性能等。通过典型场景仿真,展示了AEB如何在2.5秒TTC触发预警,1.2秒TTC启动自动制动,有效避免碰撞。文章还展望了行人AEB、传感器融合等进阶研究方向,为自动驾驶安全系统

amy_mhd的博客 267

[SDOI2008]Cave 洞穴勘测

题目描述 辉辉热衷于洞穴勘测。 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径。 洞穴都十分坚固无法破坏,然而通道不太稳定,...

weixin_30679823的博客 227

Untiy之如何实现AI+MR (Pico4u 相机推流MR画面给Server做实时AI图像识别)

本文介绍了基于Pico4U企业版开发AI+MR应用的实现方案。文章详细说明了硬件准备步骤,包括购买企业版设备、申请相机权限和注册管理平台。重点讲解了Unity开发中获取摄像头画面的两种技术方案:通过Overlay直接渲染到Android Surface,或使用API获取图像数据转换为Texture。提供了完整的代码示例和权限配置说明,并揭示了底层通过JNI调用Android原生API的技术原理。该方案适用于带电操作等实习场景,可提升安全性和学习趣味性。

TxNet 1339

【BZOJ2049】【SDOI2008】Cave 洞穴勘测 LCT裸题 模版题 数组版

数组,至少目前我只写数组,不写指针。 LCT这种东西我不打算讲或者什么乱七八糟的,反正这一篇是自用。 同样,看这篇博客的人可以先去别的地方学LCT,然后来我这扒代码。 代码: #include #include #include #include #define ls son[x][0] #define rs son[x][1] #define is(x) (x==

辗转山河弋流歌 1548

(10)三相三绕组变压器的建模仿真

建立了三相三绕组变压器组的Simulink仿真模型,通过实例进行了仿真计算。

weixin_45670943的博客 1143

【Envi风暴】Envi5.6安装图文教程(附Envi5.6完整版下载)

【Envi风暴】Envi5.6与应用商店app store安装图文教程(附Envi5.6完整版下载)从文末网盘下载完整的ENVI5.6安装包,如下所示:双击envi56-win.exe,开始安装。将f__x64下的两个补丁文件拷贝到安装路径。将f__x86下的两个补丁文件拷贝到安装路径。

智慧空间实验室 9197

【BZOJ2049】 [Sdoi2008]Cave 洞穴勘测

BZOJ2049 [Sdoi2008]Cave 洞穴勘测 Solution 看到这种动态连边和动态删边的不就想到LCT? 直接上就好了. 好像可以非路径压缩并查集搞,不清楚了. #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include...

araw94333的博客 184

微信小程序 - 最新详细实现调起手机摄像头拍摄身份证人像面和国徽面取景框功能,在拍照相机上增加身份证证件照的轮廓或自定义文字,支持替换扫描拍摄辅助线图片及文本,小程序实现拍照身份证时带取景轮廓框拍摄!

微信小程序,身份证,证件照,人像,证件照提示框模板,vue身份证拍照框,摄像机相机里有引导内容,取景框拍摄,微信小程序实现拍照界面自定义实现,自拍人相框拍摄,取景框,户口簿取景框,画布指定区域生成图片,微信小程序身份证正反面拍照如何加入辅助图片引导照片,身份证取景框拍摄,服务器,上传,正反面,调起手机摄像头:拍摄身份证的正反面,自定义身份证取景框,在相机上绘制“身份证轮廓“与提示文字,拍摄身份证时出现人像框怎么实现,在相机上增加图片和文字,微信小程序怎么给调起的相机加入自定义图片,小程序实现给相机上面

🏆 前端领域优质创作者 1万+

BZOJ 2049 Sdoi2008 Cave 洞穴勘测

2049: [Sdoi2008]Cave 洞穴勘测 Time Limit:10 SecMemory Limit:259 MBSubmit:10366Solved:5041[Submit][Status][Discuss] Description 辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞...

172

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[bzoj2049][SDOI2008]Cave 洞穴勘测

2049: [Sdoi2008]Cave 洞穴勘测Time Limit: 10 Sec Memory Limit: 259 MB Submit: 4803 Solved: 2137 [Submit][Status][Discuss] Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)

Vampire 1787

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

bzoj 2049 [Sdoi2008]Cave 洞穴勘测

LCT

我要吃熊猫 313

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【BZOJ】2049 [Sdoi2008]Cave 洞穴勘测 LCT入门题

传送门:【BZOJ】2049 [Sdoi2008]Cave 洞穴勘测 题目分析:模板题 dai m r

poursoul 1405

【图论】[SDOI2008]Cave 洞穴勘测

辉辉热衷于洞穴勘测。 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径...

ars4me 587

bzoj 2049: [Sdoi2008]Cave 洞穴勘测 (link-cut-tree)

2049: [Sdoi2008]Cave 洞穴勘测 题意:一幅图,进行三个操作,destroy(a,b)断开a,b之间的边。 connect (a,b),连接在a,b之间连一条边,query(a,b),询问a,b是否联通。任何操作都会保证不会出现环,也就是这幅图是森林。 解题思路:lct模板题。碰到了一点小小的困难,就是destroy操作,之前没有学过换根,这次学了一下。cut(a,b),操作

No__stop 1806

bzoj 2049: [Sdoi2008]Cave 洞穴勘测 动态树

2049: [Sdoi2008]Cave 洞穴勘测 Time Limit:10 SecMemory Limit:259 MBSubmit:3119Solved:1399[Submit][Status] Description 辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n...

alex151194310的博客 157

SDOI2008 Cave 洞穴勘测 动态树

裸地lct,只有link cut 和findroot操作。。。。 2049: [Sdoi2008]Cave 洞穴勘测 Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 1122  Solved: 493 [Submit][Status][Discuss] Description 辉辉热衷于洞穴勘测。某天,他按照地图来到了一

865

[BZOJ 2049] [SDOI2008] Cave 洞穴勘测

2049: [SDOI2008]Cave 洞穴勘测 Time Limit:10 SecMemory Limit:259 MB Description 辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序...

weixin_30851409的博客 73

bzoj 2049: [Sdoi2008]Cave 洞穴勘测

2049: [Sdoi2008]Cave 洞穴勘测 Time Limit:10 SecMemory Limit:259 MBSubmit:9950Solved:4818[Submit][Status][Discuss] Description 辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别...

weixin_30407613的博客 83

BZOJ 2049: [Sdoi2008]Cave 洞穴勘测 [LCT]

2049: [Sdoi2008]Cave 洞穴勘测 Time Limit:10 SecMemory Limit:259 MBSubmit:7478Solved:3501[Submit][Status][Discuss] Description 辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号...

weixin_30776273的博客 69
上一篇: 关于划分树
下一篇: 关于生成函数
OrpineX
博客等级 码龄17年 16粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值