bzoj4538: [Hnoi2016]网络

基于YOLOv10的建筑图纸物体检测系统:从数据集构建到UI界面实现 高度结构化的图形元素标准化的符号和标注系统多层次的细节表达精确的尺寸和位置关系。 阅读详情

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4538

思路:首先二分答案K

那么对于每个询问我们只要判断权值大于K的路径的交是否都过x即可

路径的交还是路径,路径交满足结合律

可以离线拿个线段树维护一下即可,以权值为关键字,每个点记录该段区间的路径交

也可以用splay来做

二分时在线段树上二分即可。

如果lca用倍增求,复杂度是O(nlog^2n)

链交好像写的比较丑.....又是一波讨论

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
const int maxn=200010,maxm=200010,maxk=22;
using namespace std;
struct quer{int op,t,x,pos;}q[maxn];
int n,m,pw[maxk],lg[300010],cnt,dep[maxn],tot;

struct Tgraph{
	int pre[maxm],now[maxn],son[maxm],tot,fa[maxn][maxk],dfn[maxn],last[maxn],tim;
	void add(int a,int b){pre[++tot]=now[a],now[a]=tot,son[tot]=b;}
	void ins(int a,int b){add(a,b),add(b,a);}
	void dfs(int x){
		dfn[x]=++tim;
		for (int i=1;i<=18;i++) fa[x][i]=fa[fa[x][i-1]][i-1];
		for (int y=now[x];y;y=pre[y]) if (son[y]!=fa[x][0])
			fa[son[y]][0]=x,dep[son[y]]=dep[x]+1,dfs(son[y]);
		last[x]=tim;
	}
	int lca(int x,int y){
		if (dep[x]<dep[y]) swap(x,y);
		for (int i=0,h=dep[x]-dep[y];h;i++) if (pw[i]&h) h-=pw[i],x=fa[x][i];
		if (x==y) return x;
		for (int i=lg[dep[x]];i>=0;i--) if (fa[x][i]!=fa[y][i]) x=fa[x][i],y=fa[y][i];
		return fa[x][0];
	}
	inline bool in(int x,int y){return dfn[x]>=dfn[y]&&dfn[x]<=last[y];}//判断x是否在y的子树里
}g;

struct chain{
	int u,v,lca;
	bool in(int x){//判断x是否在链上
		if (!lca) return 1;
		if (lca>0) return g.in(x,lca)&&(g.in(u,x)||g.in(v,x));
		return 0;
	}
	void print(){printf("u=%d v=%d lca=%d\n",u,v,lca);}
};
struct data{
	chain ch;int id,v;
	void init(int i){scanf("%d%d%d",&ch.u,&ch.v,&v),ch.lca=g.lca(ch.u,ch.v),id=i;}
	void print(){ch.print(),printf("id=%d val=%d\n",id,v);}
}seq[maxn];

bool cmp(data a,data b){return a.v<b.v;}

chain merge(chain a,chain b){
	if (!a.lca) return b;//0是这个路径已被删去,-1是交集为空
	if (!b.lca) return a;
	if (a.lca==-1||b.lca==-1) return (chain){0,0,-1};
	if (dep[a.lca]<dep[b.lca]) swap(a,b);
	if (!b.in(a.lca)) return (chain){0,0,-1};
	int lcau=g.lca(a.u,b.u),lcav=g.lca(a.v,b.v);
	int newu=dep[lcau]>dep[a.lca]?lcau:a.lca;
	int newv=dep[lcav]>dep[a.lca]?lcav:a.lca;
	return (chain){newu,newv,a.lca};
}

struct Tsegment{
	#define ls (p<<1)
	#define rs (p<<1|1)
	#define mid ((l+r)>>1)
	chain t[maxn<<2];
	void update(int p){t[p]=merge(t[ls],t[rs]);}
	void modify(int p,int l,int r,int x,chain ch){
		if (l==r){t[p]=ch;return;}
		if (x<=mid) modify(ls,l,mid,x,ch);
		else modify(rs,mid+1,r,x,ch);
		update(p);
	}
	int query(int p,int l,int r,int x){
		if (l==r) return seq[l].v;
		if (t[rs].in(x)) return query(ls,l,mid,x);
		else return query(rs,mid+1,r,x);
	}
}T;

int query(int x){
	if (!tot) return -1;
	chain ch=T.t[1];
	if (ch.in(x)) return -1;
	return T.query(1,1,cnt,x);
}

int main(){
	scanf("%d%d",&n,&m),pw[0]=1,lg[1]=0;
	for (int i=1;i<=18;i++){
		pw[i]=pw[i-1]<<1;
		for (int j=pw[i-1]+1;j<=pw[i];j++) lg[j]=i;
	}
	for (int i=1,x,y;i<n;i++) scanf("%d%d",&x,&y),g.ins(x,y);
	g.dfs(1);
	for (int i=1;i<=m;i++){
		scanf("%d",&q[i].op);
		if (q[i].op==0) seq[++cnt].init(i);
		else if (q[i].op==1) scanf("%d",&q[i].t);
		else scanf("%d",&q[i].x);
	}
	sort(seq+1,seq+1+cnt,cmp);
	for (int i=1;i<=cnt;i++) q[seq[i].id].pos=i;
	for (int i=1;i<=m;i++){
		if (q[i].op==0) T.modify(1,1,cnt,q[i].pos,seq[q[i].pos].ch),tot++;
		else if (q[i].op==1) T.modify(1,1,cnt,q[q[i].t].pos,(chain){0,0,0}),tot--;
		else printf("%d\n",query(q[i].x));
	}
	return 0;
}


Vue3 - Element Plus 下拉选择器 el-select 覆盖修改 placeholder样式,解决覆盖不生效问题(支持修改文字颜色、文字大小、选择器边框、hover效果、宽高等任意样式 vue3,element-plus,el-select,下拉选择器,下拉选择框,Select选择器,deep覆盖无效怎么办,怎么修改placeholder文字颜色,选择器select修改边框样式,修改文字大小,elementPlus选择器如何覆盖hover效果,使用deep改不了样式,修改边框颜色,select去掉边框,vue3+elementPlus中select选择器如何修改placeholder文字样式,修改el-select样式,select选择器样式覆盖不了咋办,el-select如何覆盖原样式, 阅读详情

相关推荐

有限元中的对称魔法:用1/6模型算整个涡轮叶片(含MATLAB代码)

本文深入解析了有限元分析中针对循环对称结构的高效求解策略。通过利用涡轮叶片等结构的几何重复性,仅需对1/6基本扇区建模并施加循环对称条件,即可精确推演整体力学行为,大幅降低计算规模。文章从数学原理推导到MATLAB代码实现,提供了完整的实战指南,适用于旋转机械的静力、模态及谐响应分析。

fire9的博客 310

「HNOI2016」网络(整体二分,树状数组)

Description 给定一棵树,要求支持一下操作 选定一条路径,并给定一个权值。 取消选定一条路径。 求未经过节点uuu的路径中,权值最大的那一个。 n⩽105,m⩽2×105n⩽105,m⩽2×105n \leqslant 10^5, m \leqslant 2\times 10^5 Solution 网上有许多线段树+堆的做法,但是查询时都递归到了底层,这不是暴力吗??(不过...

DSL_HN_2002的博客 515

ROS2_control 对机器人控制(不完整,有时间再更新)

会提示安装好其他相应的东西# 本来应该还要有ros-humble-gz-ros2-control,但是直接安装提示定位不到ros2 control --help # 输出 Commands:list_controller_types 输出可用的控制器类型及其基类list_controllers 输出已加载控制器的列表、类型和状态list_hardware_components 输出可用硬件组件列表list_hardware_interfaces 输出可用命令和状态接口列表。

m0_52113469的博客 2468

HNOI2016网络(整体二分+树状数组)

题目链接 题目大意 给定一棵树,每次有三种事件。 1.设定一条路径u→vu\rightarrow vu→v的权值为aaa。 2.删除某条设定。 3.询问所有存在的设定中,不经过xxx路径的权值最大值是多少。 n≤105,m≤2×105n\le 10^5,m\le 2\times 10^5n≤105,m≤2×105。 题解 刚开始只想到一个O(nlog3n)O(nlog^3n)O(nlog3n)的树...

WAautomaton的博客 387

【backtrader保姆级教学】投资组合回测

method1:探索投资组合的最有方案,使用蒙特卡洛模拟Markowitz模型。# 提取最小波动组合对应的权重, 并转换成Numpy数组。# 绘制收益-标准差的散点图,并用颜色描绘夏普比率。# 在收益-风险散点图中突出风险最小的点。:param any_day: 任意日期。# 将该点坐标显示在图中并保留四位小数。password = “替换密码”# 找到标准差最小数据的索引值。user = “替换账号”# 计算GMV投资组合收益。# 计算每项资产的夏普比率。# 设置无风险回报率为0。

weixin_38132951的博客 2315

论文阅读:ICLR 2023 FINE-TUNING ALIGNED LANGUAGE MODELS COMPROMISES SAFETY, EVEN WHEN USERS DO NOT INTEND

对大型语言模型(LLMs)进行微调以适应特定用例通常涉及对预训练的LLMs进行进一步的定制。Meta公开发布Llama模型和OpenAI的API允许在自定义数据集上微调GPT-3.5 Turbo,也鼓励这种做法。但是,这种自定义微调与安全成本有何关联?我们注意到,尽管现有的安全对齐基础设施可以在推理时限制LLMs的有害行为,但它们并未涵盖将微调权限扩展到最终用户时的安全风险。我们的红队研究发现,即使是只有几个设计有敌意的训练示例进行微调,也可以破坏LLMs的安全对齐。

CSPhD-winston的博客 811

bzoj 4538: [Hnoi2016]网络

线段树套堆

fyc的博客 319

超分辨率重建:ESPCN与SRGAN技术对比

超分辨率重建:ESPCN与SRGAN技术对比​ 人工智能,计算机视觉,大模型,AI,超分辨率重建是一种通过技术手段,将低分辨率图像转换为高分辨率图像的过程。它的目的是恢复低分辨率图像中丢失的细节信息,使图像具有更高的清晰度和视觉质量。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

【LG3250】[HNOI2016]网络

【LG3250】[HNOI2016]网络 题面 洛谷 题解 30pts 对于\(m\leq 2000\),直接判断一下这个个点是否断掉一个交互,没断掉的里面取\(max\)即可,复杂度\(O(m^2\log n)\)。 另20pts 对于无删除操作的,用线段树维护, 我们将一条路径的补集全部打上那条路径重要度的标记,这样我们断一条边时直接单点查询即可。 据说这样子再改改可以变成一种树剖加...

176

UDPProbe UDP端口存活探测(发送特征包+响应分析)、UDP服务识别

qDebug() << "收到响应:" << ip.toString() << ":" << port << " 服务:" << serviceName << " 响应长度:" << response.size();qDebug() << "开始探测:" << targetIp << ":" << port << " 超时时间:" << timeout << "ms";qInfo() << "\n==================== UDP探测结果 ====================";

寒寒豆豆软件公司的博客 146

Scale-up,scale-out技术概述

本文系统分析了Scale-up与Scale-out两种扩展技术在现代计算中的应用与发展。Scale-up通过增强单节点性能,适用于高耦合任务,而Scale-out通过横向扩展节点,实现高可用性和无限扩展。在芯片层面,Chiplet技术推动Scale-up发展;在数据中心层面,二者协同工作构建强大集群。光模块在长距离高带宽传输中发挥关键作用。文章对比了NVIDIA、AMD和Broadcom三家公司的技术路线,指出NVIDIA采用封闭生态,AMD选择开放标准,Broadcom则主导底层连接技术。未来发展方向将聚

元直的博客 1446

P3250 [HNOI2016] 网络 (树剖 + 线段树维护堆)

题目链接: P3250 [HNOI2016] 网络 大致题意 给定一棵有nnn个节点的树, 有mmm次如下操作: 0 a b c 表示在(a,b)(a, b)(a,b)的最短路径上增加一条重要度为ccc的边. 1 t 表示删除第ttt次操作所增加的边 2 x 表示节点xxx出现故障. 此时需要回答, 所有不经过xxx节点的边中最大的重要度. 解题思路 首先我们考虑查询操作, 我们需要每次对删除节点x后的连通路径上的最大边权. 但本题我们可以把边权直接等价变为点权. 因此可以把查询操作变成查询最大点权. 进

Fau的博客 572

uniapp(vue3):实现手机拍照或相册图片上传后给图片添加水印,uniapp实现多端图片上传、拍照上传自定义插入水印内容,调用手机摄像头打开相机并在周围悬挂自定义水印(支持文字水印/图片水印等)

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uni-app为图片添加自定义水印(解决生成图片不全问题),uniapp上传图片添加水印,uniapp H5实现手机拍照或相册上传图像并添加自定义水印,uniapp水印相机,uni-app为图片添加自定义水印,怎么在图片上加水印,图片水印,上传照片带水印,从相册选择图片加水印功能,拍完照片给图片加水印,添加照片水印,uniapp图片加水印,为图片添加自定义水印,uni-app上传图片并添加水印,上传图

✅ 精选推荐文章 3263

bzoj 4538: [Hnoi2016]网络 树链剖分

显然,题目等价于带插入删除的,求不覆盖某一点的所有链的重要度的最大值。        如果求覆盖某一点的所有链的重要度最大值,那么插入时显然可以树链剖分之后在对应的线段树区间中加入这个重要度。因为要删除和求最大值,套一个优先队列即可。        现在要求不覆盖某一点,那么插入的时候就修改所有除了该链之外的所有点。树链剖分之后得到logN个序列区间,那么补集也是logN的,线段树打标记即可。

lych的博客 1700

IEM模型,地表粗糙度模拟

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

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

bzoj4538: [Hnoi2016]网络 整体二分 差分 树状数组

bzoj4538: [Hnoi2016]网络 题目传送门 分析 二分最大值呗。 相当于把所有大于这个值的路径筛出来啦。 链修改,点查询-&gt;点修改,子树查询。 就是u,v+1u,v+1u,v+1,lca,fa[lca]−1lca,fa[lca]-1lca,fa[lca]−1 判断某那个点是否经过当前所有链即可。 整体二分上一下即可。 代码 #include&lt;bits/stdc++.h&g...

maxtir的博客 271

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

bzoj4538:[Hnoi2016]网络

传送门 已经极其接近的想到过正确做法了,但是没想到标记永久化,所以复杂度炸了 树链剖分,对于线段树每个节点开个堆(一开始用multiset,结果MLE了,想不通为什么) 考虑对于一次请求\(u,v\),只有当它的路径上的点坏掉的时候,它才会受到影响,所以除去这条路径上的所有点都应该有这个贡献 代码: #include<cstdio> #include<iostream> #...

weixin_30439031的博客 141

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

BZOJ4538: [Hnoi2016]网络

BZOJ4538: [Hnoi2016]网络 Description 一个简单的网络系统可以被描述成一棵无根树。每个节点为一个服务器。 连接服务器与服务器的数据线则看做一条树边。 两个服务器进行数据的交互时,数据会经过连接这两个服务器的路径上的所有服务器(包括这两个服务器自身)。 由于这条路径是唯一的,当路径上的某个服务器出现故障,无法正常运行时,数据便无法交互。 此外,每个数据交...

weixin_30955341的博客 60

【BZOJ4538 : [Hnoi2016]网络】树链剖分+线段树+堆

BZOJ4538 中文题意 做法 用线段树节点维护该不经过该线段的最大值 那么你就用两个堆 插入的时候插入到第一个堆 删除的时候加入到第二个堆 每次我们查询就是第一个堆堆首如果和第二个堆堆首相同 就pop 否则查第一个 树链剖分找重儿子写>一直MLE到怀疑人生 看了下discuss 发现oier们说要写 >= 真是为oier水深火热环境堪忧 /* if you can't se...

我是谁 --- 卡比兽 186

BZOJ 4538: [Hnoi2016]网络

4538: [Hnoi2016]网络 Time Limit:20 SecMemory Limit:128 MBSubmit:1165Solved:430[Submit][Status][Discuss] Description   一个简单的网络系统可以被描述成一棵无根树。每个节点为一个服务器。连接服务器与服务器的数据线则看做一条树边。两个服务器进行数据的交...

weixin_30477797的博客 81

Bzoj4538:[Hnoi2016]网络:整体二分+树状数组

题目链接:4538:[Hnoi2016]网络 整体二分,用dfs序+树状数组判断当前答案是否可行 对于一段区间[l,r],我们二分得到的答案为mid,我们把[l,r]中大于mid的数据交互请求加入树状数组,同时也有撤销操作的删除 这样知道我们发现了一个询问操作,我们在树状数组中做子树查询,就可以知道当前点坏掉会影响多少条数据交互请求 设区间[l,r]中我们在当前操作的时候还存在有num个数

蜜の夜明け 1195

bzoj4538: [HNOI2016]网络

题目链接维护一颗树。在每个时刻,有以下三个操作。 (u,v,w)(u,v,w): 向从uu至vv的路径上添加一个重要度为ww的任务。 (t)(t): 取消tt时刻添加的任务。 (x)(x) 查询所有未覆盖xx节点的任务中重要度的最大值。 这道题有诸多做法,然而我直接当做树链剖分练习题来做了。对于这样的三个操作,我们可以考虑用树剖来维护。查询不覆盖某节点的任务难以直接用线段树实现,我们可以反其道而行之

DorikoTY的博客 461

bzoj4538: [Hnoi2016]网络(树链剖分)

传送门 树链剖分一眼题。 题意简述: 给定一棵树,有三种操作: 加入一条路径 删除一条已加入的路径 询问不过一个点x的路径的最大值。 思路: 直接树链剖分维护答案。 因为询问的事不过点xxx的最大值,因此对于一条路径我们只需要修改它的补集。 考虑到树上一条到根节点的路径映射到序列上只有logloglog段,因此它的补集也只有logloglog段,这样就可以修改了。 然后有了一种叫做删除的操作...

苟为蒟蒻又何妨 286

BZOJ4538 : [Hnoi2016]网络

求出这棵树的dfs序,对于一条链$u-v$,假设$st[u]\leq st[v]$,那么一条链不经过点$x$当且仅当它满足下面任意一个条件: 1.$st[v]&lt;st[x]$ 2.$st[u]&gt;en[x]$ 3.$st[x]&lt;st[lca(u,v)]\leq en[x]$ 4.$st[u]&lt;st[x],st[v]&gt;en[x]$ 前3种情况可以通过线段树做到$O...

weixin_33725807的博客 95
上一篇: bzoj4537: [Hnoi2016]最小公倍数
下一篇: bzoj4540: [Hnoi2016]序列
thy_asdf
博客等级 码龄12年 16粉丝 186原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值