bzoj3282: Tree

UOS的ARM机编译QT5.14.2记录 我需要的qt版本是Qt5.14.2,所以选择编译Qt5.14.2源码;几个月前尝试了编译一次,当时编译过程中出现了报错,当时时间很紧最后安装的默认版本来使用,最近有时间重新进行了一次编译,历经3个星期(4G的内存)终于解决了各种坑,编译成功了,现在将编译过程中遇见的一些坑记录一下,方便日后能记得这一次可恶的编译过程,如有描述欠缺的地方,还希望各位大佬给点意见指导指导🙏。 阅读详情

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ls c[x][0]
#define rs c[x][1]
using namespace std;
const int maxn=300010;
int n,m;
 
struct LCT{
    int c[maxn][2],fa[maxn],rev[maxn],sum[maxn],val[maxn];
    bool isroot(int x){return (c[fa[x]][0]!=x)&&(c[fa[x]][1]!=x);}
    int which(int x){return c[fa[x]][1]==x;}
    void update(int x){sum[x]=sum[c[x][0]]^sum[c[x][1]]^val[x];}
    void flip(int x){swap(c[x][0],c[x][1]),rev[x]^=1;}
    void down(int x){if (rev[x]) flip(c[x][0]),flip(c[x][1]),rev[x]=0;}
    void relax(int x){if (!isroot(x)) relax(fa[x]);down(x);}
    void rotate(int x){
        int y=fa[x],z=fa[y],nx=which(x),ny=which(y);
        fa[c[x][!nx]]=y,c[y][nx]=c[x][!nx];
        fa[x]=z;if (!isroot(y)) c[z][ny]=x;
        fa[y]=x,c[x][!nx]=y;update(y);
    }
    void splay(int x){
        relax(x);
        while (!isroot(x)){
            if (isroot(fa[x])) rotate(x);
            else if (which(x)==which(fa[x])) rotate(fa[x]),rotate(x);
            else rotate(x),rotate(x);
        }
        update(x);
    }
    void access(int x){for (int p=0;x;x=fa[x]) splay(x),fa[c[x][1]=p]=x,update(x),p=x;}
    void makeroot(int x){access(x),splay(x),flip(x);}
    void modify(int x,int v){val[x]=v,splay(x);}
    int findroot(int x){access(x),splay(x);for (;c[x][0];x=c[x][0]);return x;}
    void link(int a,int b){makeroot(a),fa[a]=b;}
    void cut(int a,int b){makeroot(a),access(b),splay(b);if (c[b][0]==a) c[b][0]=fa[a]=0;}
    int query(int a,int b){makeroot(a),access(b),splay(b);return sum[b];}
}T;
 
int main(){
    scanf("%d%d",&n,&m);
    for (int i=1,a;i<=n;i++) scanf("%d",&a),T.modify(i,a);
    for (int i=1,op,a,b;i<=m;i++){
        scanf("%d%d%d",&op,&a,&b);
        if (op==0) printf("%d\n",T.query(a,b));
        else if (op==1){if (!(T.findroot(a)==T.findroot(b))) T.link(a,b);}
        else if (op==2) T.cut(a,b);
        else T.modify(a,b);
    }
    return 0;
}

又是一道tree...

题目大意:就是说的直接的bzoj2819:NIM,加边删边,单点修改。

思路:LCT维护链上的异或和,注意题目中的不保证。


1688店铺所有商品API接口(整店商品查询API接口) 1688店铺所有商品API接口、1688店铺列表API接口,1688店铺API接口,1688店铺查询商品API接口,1688店铺商品API接口,1688店铺详情接口,1688商品API接口 阅读详情

相关推荐

保姆级教程:在Windows上用VS2019和OpenCV4.6搞定海康MV-EB435i RGBD相机图像采集

本文提供了一份详细的教程,指导如何在Windows环境下使用VS2019和OpenCV4.6配置海康MV-EB435i RGBD相机进行图像采集。从开发环境准备、SDK部署到代码移植和优化,涵盖了深度图与RGB图同步采集的实战技巧,帮助开发者快速上手工业级RGBD相机的应用开发。

weixin_28675557的博客 466

bzoj3282(Tree lct模板)

题目 虽然代码ac了。由于不太清楚原理。。模模糊糊的。。找了网上好几个代码对拍一下每份之间都不一样。。emmm。。第一道lct很难受,不知道以后写题的过程需不需要了解这么清原理。 #include<cstdio> #include<iostream> #include<cstring> #include<map> #define m(a,b) me...

qq_42576687的博客 208

用Logisim搞定华科计组实验:单总线CPU设计从微程序到硬布线的保姆级通关攻略

本文详细介绍了如何使用Logisim完成华中科技大学计算机组成原理实验中的单总线CPU设计,涵盖从微程序控制器到硬布线控制器的完整实现过程。通过MIPS指令译码器设计、微程序控制原理、状态机实现等关键步骤的保姆级教程,帮助学生掌握CPU设计的核心技能,并提供Educoder平台提交与调试的实用技巧。

weixin_30897233的博客 475

【bzoj3282】Tree LCT

Description给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。 1:后接两个整数(x,y),代表连接x到y,若x到Y已经联通则无需连接。 2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在。 3:后接两个整数(x,y

DQS的树洞 1013

单目标跟踪算法及其复现过程---SiamFC(一)

在test.py文件中,就是利用训练出来的模型进行测试,需要更改预训练模型的路径,测试集的路径,以OTB100为例,最后输出的是对每一帧目标位置的坐标点。代码如下:首先需要下载got10k官方库,只需要在终端输入(注意:在终端安装各种库的时候不能使用网络代理),在环境已经配置到的情况下,只需要该其中的路径和就可以运行。这个系列博客仅为了记录各目标跟踪算法的复现(大多为跑通大佬们实现的代码),包括其中出现的很多问题和错误,学到的新知识等等。解决,而且只使用在线的方法,限制了他们可以学习的模型的丰富性。

weixin_58244117的博客 4760

FAST-LIO2:论文和算法解析

本文介绍了FAST-LIO2算法:一种快速、鲁棒、通用的激光雷达-惯性里程计框架。FAST-LIO2基于高效的紧密耦合迭代卡尔曼滤波器,具有两个关键的新颖之处,可实现快速,稳健和准确的激光雷达导航(和测绘)。第一种方法是直接将原始点注册到地图上然后更新地图,而不提取特征。这样可以利用环境中的细微特征,从而提高准确性。消除手工设计的特征提取模块,也使其能够适应不同扫描模式的新兴激光雷达;

超爱吃小蛋糕的66的博客 1万+

BZOJ3282 Tree

题目链接:戳我 算是LCT的板子题了吧qwq 大家不会LCT的可以去看flush_hu dalao的博客,也可以去看attack dalao的博客,都写得超级好呢qwqwq 不过大家要注意findroot那一点需要push_down一下啊qwq,要不然可能说不准哪个题就会挂掉qwqwq 代码如下: #include<iostream> #include<cstring&...

weixin_30279751的博客 176

偏最小二乘回归分析原理详解和案例分析实例

偏最小二乘回归分析原理详解背景偏最小二乘回归分析 Partial least squares regression analysis基本思想建模步骤步骤一:分别提取两变量组的第一对成分,并使之相关性达最大步骤二:建立 y1,⋯ ,yp\boldsymbol{y}_{1}, \cdots, \boldsymbol{y}_{p}y1​,⋯,yp​ 对 u1\boldsymbol{u}_{1}u1​ 的回归及 x1,⋯ ,xm\boldsymbol{x}_{1}, \cdots, \boldsymbol{x}_{

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 9976

[BZOJ3282]Tree(LCT)

题目描述传送门题解板子题= = 如何判断有没有这条边呢?ATP(对zyf2000):哈哈哈我能卡掉你!!! zyf2000:来来来卡我呀。 『ATP输了一组数据』 zyf2000:没卡掉! ATP:真事吗? hxy:我来试试。。 『hxy在zyf2000的电脑上输出一坨感叹号』 hxy:真的卡不掉她!!! ATP:不科学。 zyf2000:我也觉得十分的不科学。 hxy:是不是

zyf2000 915

快速入门必看!RT-DETR手把手训练自己的数据集去跑实验,基于 ultralytics 仓库源码改进,配置虚拟环境,准备数据集、训练、验证、推理测试 ,实现0到1的完整教学过程。

本文介绍了使用Ultralytics框架训练RT-DETR模型的全流程。首先需要创建Python 3.10虚拟环境,安装指定版本的PyTorch和相关依赖包。然后准备数据集,修改配置文件,并详细介绍训练、验证和推理三个核心步骤的代码实现。训练阶段使用RTDETR类加载模型配置,设置训练参数;验证阶段评估模型性能;推理阶段可对图片、视频等进行预测。文中还提供了清华大学镜像源加速下载,以及详细的参数配置说明,帮助用户快速搭建RT-DETR目标检测模型。

Ai缝合怪、助力小伙伴高效发论文 5548

高通平台N4单路输入的720P相机预览

N4的一路720P Camera作为MIPI摄像头使用

llw21680的专栏 165

BZOJ3282: Tree

【传送门:BZOJ3282】 简要题意:   给出n个点以及它们的权值,有m个操作,4种操作:   1.询问从x到y的路径上的xor和   2.连接x和y,如果本来就联通则不作操作   3.使x和y不连通,如果本来就不连通则不作操作   4.修改第x个点的权值,改为c 题解:   LCT,只要在每个点保存它子树的异或和就行了 参考代码: #include<...

weixin_30478619的博客 75

【LAMMPS学习】八、基础知识(4.5)TIP5P水模型

​ 五点 TIP5P 刚性水模型通过添加两个通常无质量的附加位点 L 来扩展three-point TIP3P model,其中放置与氧原子相关的电荷。这些位点 L 位于距氧原子固定距离处,形成从 HOH 平面旋转 90 度的四面角。因此,这些位点在某种程度上近似于氧的孤对,从而改善了水结构,与four-point TIP4P model相比变得更加“四面体”。

荷塘阅色 1421

bzoj 3282: Tree

http://www.lydsy.com/JudgeOnline/problem.php?id=3282 大概又是一道lct的裸题 #include<cstdio> #include<algorithm> const int maxn = 320007; inline int read() { int x=0,f=1;char c=getc...

agtvo48266的专栏 104

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

BZOJ 3282: Tree

3282: Tree Time Limit:30 SecMemory Limit:512 MBSubmit:1714Solved:765[Submit][Status][Discuss] Description 给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。 0:后接两个整数(x,y),代表询问从x到y的路径上的...

weixin_30938149的博客 125

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

BZOJ3282: Tree 题解

LCT的模板题,学splay和LCT合起来花了两三天 LCT的核心就是用splay维护preferred path,preferred path定义为上次access操作所经过的那些边,access操作的本质是打通当前点到树的根 这题要求删边,加边和维护一条链上的xor和 对于加边(u,v):makeroot(u),fa[u]=v即可,注意虽然这时fa[u]=v,但是u并不是v的儿子,u和v...

IcePrincess_1968's World 396

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【BZOJ】3282: Tree(lct)

http://www.lydsy.com/JudgeOnline/problem.php?id=3282 复习了下lct,发现两个问题。。 1:一开始我以为splay那里直接全部rot(x)就好了,然后改了好几题lct的题,都过了且速度和原版一样。。然后怀疑了下。。。。。。后来请教神犇,他说这样不行。。(这是单旋了?时间复杂度不保证,,但是我还不知道反例) 2:findroot操作...

112

[BZOJ]3282: Tree lct

LCT

TYB的博客 348

bzoj 3282: Tree (Link Cut Tree)

链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3282 题面: 3282: Tree Time Limit:30 SecMemory Limit:512 MBSubmit:2845Solved:1424[Submit][Status][Discuss] Description 给定N个点以及每个点的权值,要...

weixin_30340353的博客 133

BZOJ 3282: Tree [LCT]

3282: Tree Time Limit:30 SecMemory Limit:512 MBSubmit:1677Solved:744[Submit][Status][Discuss] Description 给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。 0:后接两个整数(x,y),代表询问从x到y的路径上的...

weixin_30808575的博客 89

LCT复习之 bzoj3282: Tree

前言 之前学的LCT太差了。。 什么都不记得了 于是决定从今天开始,重新学习 学习笔记我就不学了,懒) 题解 这是一个模板题 一开始我的isrootisrootis_root写反了,调了好一会 然后还有要注意的就是rotaterotaterotate的时候要判断根 不要转到别人的子树里面去了 CODE: #include&lt;cstdio&gt; #include&...

OZY的博客 248

BZOJ 3282: Tree (LCT)题解

Time Limit: 30 Sec Memory Limit: 512 MB Submit: 2119 Solved: 973Description给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。1:后接两个整数(x,y),代表连接x到y,若x到Y

Monica 409

bzoj 3282: Tree LCT第三题

这题就是不想给我过

OZY的博客 296
上一篇: bzoj2631: tree
下一篇: bzoj3651&3081: 网络通信
thy_asdf
博客等级 码龄12年 16粉丝 186原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值