LCT模板

将AAL图谱对应到Yeo7大网络中【原理,代码分析】 本文介绍了将AAL2图谱映射到Yeo7大功能网络的方法。通过整合皮层(Yeo2011)、小脑(Buckner2011)和纹状体(Choi2012)三个区域的功能网络图谱,采用投票机制确定每个AAL区域的网络归属。具体步骤包括:1)统计每个AAL区域体素在各网络图谱中的分布;2)选择体素数量最多的网络作为该区域的最终标签。该方法实现了从解剖结构到功能网络的映射,可获得120个AAL区域对应的7大功能网络标签。 阅读详情

此题是bzoj2631
Lct真的是看一眼就懂的数据结构,Tarjan太强了
考虑轻重链剖分,我们可以将一条路径分成log个区间
而在Lct上,用splay来完成这一过程,每次将节点到根的路径强制变为重路径(Access操作)
这样,就可以很方便的来完成链上的查询和修改了
而换根,需要维护一个Reverse标记,每次access(x)access(x)access(x)之后将整颗splay翻转
反正不是很复杂辣,和线段树差不多吧

#include<stdio.h>
#include<string.h>
#include<algorithm>
#define M 51061
#define N 100010
#define son(x) (x==s[f[x]][1])
using namespace std;
int n,m,s[N][2],f[N],r[N];
unsigned v[N],w[N],a[N],t[N],sz[N];
inline int R(int x){
	return s[f[x]][son(x)]==x;
}
inline void ps(int x){
	sz[x]=(sz[s[x][0]]+sz[s[x][1]]+1)%M;
	w[x]=(w[s[x][0]]+w[s[x][1]]+v[x])%M;
}
inline void add(int x,int d){
	v[x]=(v[x]+d)%M; w[x]=(w[x]+d*sz[x])%M; a[x]=(a[x]+d)%M;
}
inline void mul(int x,int d){
	v[x]=v[x]*d%M; w[x]=w[x]*d%M; t[x]=t[x]*d%M; a[x]=a[x]*d%M;
}
inline void rev(int x){
	r[x]^=1; swap(s[x][0],s[x][1]);
}
inline void pd(int x){
	if(r[x]){
		rev(s[x][0]);
		rev(s[x][1]);
		r[x]=0;
	}
	if(t[x]!=1){
		mul(s[x][0],t[x]);
		mul(s[x][1],t[x]);
		t[x]=1;
	}
	if(a[x]){
		add(s[x][0],a[x]);
		add(s[x][1],a[x]);
		a[x]=0;
	}
}
inline void rot(int x){
	int p=f[x],g=f[p],d=son(x);
	f[s[p][d]=s[x][!d]]=p;
	if(R(p)) s[g][son(p)]=x; f[x]=g;
	f[s[x][!d]=p]=x; ps(p); ps(x);
}
inline void pushdown(int x){
	static int t,w[N];
	for(w[t=1]=x;R(x);x=f[x]) w[++t]=f[x];
	for(;t;--t) pd(w[t]);
}
inline void splay(int x){
	pushdown(x);
	for(int p;R(x);rot(x))
		if(R(p=f[x])&&son(x)==son(p)) rot(p);
}
inline int access(int x,int y=0){
	for(;x;y=x,x=f[x])
		splay(x),s[x][1]=y,ps(x);
	for(;s[y][0];y=s[y][0]);
	return y;
}
inline void mkrt(int x){
	access(x); splay(x); rev(x);
}
inline void link(int x,int y){
	mkrt(x);
	if(access(y)!=x) f[x]=y;
}
inline void cut(int x,int y){
	mkrt(x);
	if(access(y)==x){
		splay(y);
		if(f[x]==y && !s[x][1]){
			f[x]=s[y][0]=0; ps(y);
		}
	}
}
int main(){
	scanf("%d%d",&n,&m);
	for (int i=1;i<=n;++i) v[i]=t[i]=1;
	for(int x,y,i=1;i<n;++i){
		scanf("%d%d",&x,&y); link(x,y);
	}
	char o[3];
	for(int x,y,c;m--;){
		scanf("%s%d%d",o,&x,&y);
		if(*o=='+'){
			scanf("%d",&c);
			mkrt(x); access(y); splay(y); add(y,c);
		} else if(*o=='-'){
				cut(x,y);
			scanf("%d%d",&x,&y);
			link(x,y);
		} else if(*o=='*'){
			scanf("%d",&c);
			mkrt(x); access(y); splay(y); mul(y,c);
		} else {
			mkrt(x); access(y); splay(y); printf("%d\n",w[y]);
		}
	}
}
WINCC7.3破解文件 WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载! 立即下载

相关推荐

别再手动调参了!用Optuna+PyTorch搞定Transformer时序预测超参数(附完整代码)

本文详细介绍了如何利用Optuna和PyTorch实现Transformer时序预测模型的自动化超参数调优。通过贝叶斯优化技术,显著提升单变量时序预测的效率和准确性,并附有完整代码实现。文章涵盖模型架构设计、数据预处理、Optuna调参实战及生产环境部署建议,为开发者提供一站式解决方案。

weixin_33704234的博客 576

Link-Cut Tree(LCT) 模板总结 & 水题/模板题 动态树

1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 9352  Solved: 3783 [Submit][Status][Discuss] Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CH

とある黄鱼のOIブログ 2935

SpringBoot实现电子发票生成

电子发票是近年来比较流行的一种票据形式,它取代了以往传统的纸质发票,具有减少纸张浪费、方便有效查验等优点。本文将介绍如何使用Spring Boot和Vue.js构建一个仿真电子发票生成应用程序,借助微信二维码扫描功能和第三方库,实现用户扫描二维码获取发票信息并填写相关开票信息,最后生成电子发票。在本文中,我们介绍了如何使用Spring Boot和Vue.js构建一个仿真电子发票生成应用程序,借助微信二维码扫描功能和第三方库,实现用户扫描二维码获取发票信息并填写相关开票信息,最后生成电子发票。

不愧是暮言的博客 6090

LCT模板题

bzoj3779. 重组病毒LCT模板题(虚)前方高能,你需要(看一些线段树+dfs序+splay涨姿势)题目大意:给定一棵树,初始每个点都有一个颜色,支持三种操作: 1.将某个点到根的路径上所有点染上一种新的颜色 2.将某个点到根的路径上所有点染上一种新的颜色,然后把根设为这个点 3.定义一个点的代价为这个点到根路径上颜色的种类数,求某个点子树中所有点代价的平均值答记者问答什么答,抄别

BUFF_JEFF的博客 770

深入解析LCD DRM驱动框架中的KMS与GEM机制

本文深入解析了Linux内核中DRM(Direct Rendering Manager)驱动框架的核心机制,重点剖析了KMS(内核模式设置)与GEM(图形执行管理器)的工作原理。KMS作为显示系统的总指挥,负责原子化地控制CRTC、Encoder、Plane等硬件资源,确保画面同步更新,避免撕裂;GEM则作为显存大管家,通过DUMB和PRIME机制高效管理图形缓冲区的分配、共享与同步。文章结合RK3568平台实战,阐述了如何利用这些机制优化显示性能,并提供了调试技巧与常见问题解决方案。

weixin_29188997的博客 386

尚硅谷Redis 7学习笔记

尚硅谷Redis 7学习笔记

不更了,主打一个陪伴 2万+

LCTの题表

像我这种彩笔就别想着这题表有多少666的题了..刷完还想刷的话请出门右转黄学长那有好多呢~~~ 不得不吐槽最后那题(好吧是我zz),这道题让我的电脑死机了两遍,还好我机智(?)的发现是内存爆了而导致的死机调了快一天。最后中午的时候还说如果还不A就去吃饭堂(饭堂:我招谁惹谁了???),结果它终于、感人地AC了QWQ撒花~~~ ...

194

【AI智能体】Coze 搭建个人旅游规划助手实战详解

本文将详细介绍如何使用Coze平台搭建个人旅游规划助手。首先概述了AI智能体如何简化传统复杂任务的开发流程,然后重点介绍了Coze工作流的作用和核心节点类型(包括大模型、插件、知识库等)。通过实际操作演示,从创建智能体到配置多级工作流,逐步实现旅游规划功能:解析用户输入时间地点、查询必玩景点、获取景点详细信息等。该教程展示了如何利用Coze的可视化编排能力,即使非技术人员也能快速构建专业级AI应用。最终呈现的旅游助手可提供天气查询、行程建议等一站式服务。

Hello, New World! 2107

LCT模板 LCT题型大荟萃

以HDU4010为例,写了LCT相关的一些题目的做法 #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; void fre() { freopen("c://test//in

snowy_smile的博客 1244

数据本体论如何指导数仓建模?

数据本体论指导数仓建模的核心在于构建业务语义与数据结构的桥梁。该方法从业务域中抽象标准化知识体系,包含核心概念、属性、关系和规则五大要素,并将其映射为分层数仓模型。通过"业务本体梳理→本体建模→模型映射→治理迭代"的流程,实现数仓从"结构存储"到"语义载体"的升级。相比传统建模,该方法能解决语义不一致、跨域融合难等问题,使数仓具备更好的可扩展性和业务对齐性。实践表明,以数据本体论为指导的数仓建模能显著提升数据资产的可理解性和复用价值。

石榴姐yyds 393

yolov26改进 | 融合改进篇 | 华为VanillaNet配合HSFPN助力yolov26有效涨点(教你如何融合创新点)

本文介绍华为VanillaNet主干与HSFPN融合改进的YOLOv26。VanillaNet采用极简卷积结构,减少复杂分支与冗余操作,兼顾特征提取效率;HSFPN原本面向白细胞多尺度检测,通过特征选择模块筛除无效响应,再利用特征融合模块整合不同层级信息,增强大小目标表达。两者分别优化Backbone与Neck,结构互补,可进一步搭配改进损失函数和检测头开展消融实验与论文创新。已有多位读者反馈在各自数据集上取得涨点。文中提供完整代码、配置文件、模块注册及Codex修改思路,方便复现。

Snu77的博客 442

bzoj2555 SubString (SAM+LCT维护子树大小/ETT)

Description 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 毒瘤 显然就是sam求endpos大小,强套LCT。 时隔多年又打了一次维护子树大小。 大致就是维护: fsum[x]表示虚父亲为x的tsum和。 tsum[x]表示x的splay和,=...

一位蒟蒻的小博客 467

【在 WSL2 GUI 中使用 pulseaudio 播放声音】

最近在搞一个Linux项目,由于WSL2中需要用到声音外放,无奈只能潜心研究。后来就使用了一种折中的方式替代,那就是pulseaudio。目前来讲WSL2对硬件外设的支持还是不太友好,关于USB的支持我之前在其他文章中已经论述过了,这里不讨论。1、Windows11别忘记打开声音2、可能有一定延迟,因为是通过网络传输的。3、效果的话只能见仁见智了,如果不能满足要求就安装一个实实在在的Ubuntu吧!

jiexijihe945的博客 4530

模板:LCT

LCT模板 code: #include <bits/stdc++.h> using namespace std; typedef long long ll; bool Finish_read; template<class T>inline void read(T &x){Finish_read=0;x=0;int f=1;char ch=getchar...

dieyi9889的博客 118

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

模板—数据结构—LCT

模板—数据结构—LCT Code: #include <cstdio> #include <algorithm> using namespace std; #define N 300010 int fa[N],son[N][2],size[N],n,m;long long sum[N],num[N]; bool rev[N]; bool check(int...

weixin_30951231的博客 89

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LCT+模板题

本篇文章根据洛谷的题解总结的https://www.cnblogs.com/flashhu/p/8324551.html 做到模板题涉及这个知识点就拿来总结了,想要明白明白这个知识点需要先学习一下树状链表和Splay平衡树的知识,Spaly之前总结过可以看之前的博文 动态树是一类维护森林连通性的问题,LCT(Link-Cut-Tree)就是一种动态树,应该还有很多别的类型的动态树,但是我觉得目前为止能够掌握lct的模板应该动态树的题目应该够用了,但是LCT也就只做了这一道模板题,其他的题目还没来得及做,

_C9的博客 423

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LCT(link cut tree) -模板

//LCT Link Cut Tree(动态树) 模板 //洛谷 P3690 【模板】Link Cut Tree (动态树) //2020.11.10 创建 //2020.11.16 结束 //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: 代表将点 x 上的权值变成 y。 #include

Spike的秃头之路 202

BZOJ 1180 / 2843 LCT模板题_双倍经验

BZOJ 1180 / 2843 LCT模板题_双倍经验 一大早上到机房想先拍一下模板,热热身. 结果....对照着染色敲的 LCT 竟然死活也调不过去(你说我抄都能抄错) 干脆自己重新敲了一遍,10min就敲完了....... 还是要相信自己 Code: #include <bits/stdc++.h> #define...

EM LGH 199

LCT总结——概念篇+洛谷P3690[模板]Link Cut Tree(动态树)(LCT,Splay)

为了优化体验(其实是强迫症),蒟蒻把总结拆成了两篇,方便不同学习阶段的Dalao们切换。 LCT总结——应用篇戳这里 概念、性质简述 首先介绍一下链剖分的概念(感谢laofu的讲课) 链剖分,是指一类对树的边进行轻重划分的操作,这样做的目的是为了减少某些链上的修改、查询等操作的复杂度。 目前总共有三类:重链剖分,实链剖分和并不常见的长链剖分 重链剖分 实际上我们经常讲的树剖,就是重链剖分...

a83229442的博客 279

LCT 模板及套路总结

这一个月貌似已经考了无数次\(LCT\)了..... 保险起见还是来一发总结吧..... A. LCT 模板 \(LCT\) 是由大名鼎鼎的 \(Tarjan\) 老爷发明的。 主要是用来维护树上路径问题的。 它的神奇之处在于可以直接把一条路径抠出来维护。 其实就是维护树链剖分中的重链与轻链。 网上相关教程很多,直接给板子(其实是我懒得打E_E) 0. Splay代码: \(LCT\)是...

df4516的博客 245

lct模板

lct模板   lct模板 网上有很多lct的bolgs了,这里就不详细论述。 几个函数: 1.access(x) 把x到原树的根的路径打通。 分成3步: 1.x转到当前的根 2.x的右儿子改成上一次的根(改成重边),维护信息 3.x往上跳轻边(x=tr[x].f) Access后x到根在一颗splay里,但根不一定是splay的...

liankewei的博客 254

【模板】LCT

LCT

sdfzchy的博客 242

【模板整合】LCT模板

原题树的统计Count LCT动态维护树信息.比链剖好写但是速度真的没太有优势…#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define LL long long #define MAXN 50010 #define MAXINT 0x7fffffff usin

CreationAugust is 14 years old forever 2899
上一篇: ETT模板
下一篇: Bzoj2434 阿狸的打字机
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值