9.27 不正常国家 Trie + 启发式合并

【信息科学与工程学】【通信工程】计算机科学与自动化——第二百三十三篇 云NaaS服务 系列二02 字段内容类型​云网络自定义路由表(Custom Route Table):允许用户自定义 VPC 或子网的路由规则,控制流量走向,支持黑白名单、策略路由。端计算节点->边缘计算节点->边缘DC->中心云的网络情况及存储需求及配置情况列表​端计算节点为 VPC 内的云资源。边缘计算节点不适用。边缘 DC 和中心云为路由表管理平台。存储需求:路由条目存储于数据库。网络:路由表在虚拟路由器中执行。QoS:无。网络的端到端配置(从接入到汇聚到核心)​。 阅读详情

题意:

   每个点有一个点权, 每个点u定义一个繁忙程度, 为u子树里面两点之间的路径异或和最大的两点的异或和. 这两点的lca必须要是u. 输出每个点的繁忙程度.

题解

    x, y的路径异或和就是x到根的异或和 异或 y到根的异或和 再异或lca的值.
对于异或和01trie不太懂得:Click Here
这道题烦就烦在必须要是子树里面的两点, 这样普通的trie或者可持久trie都不可以. 那么就暴力的采用启发式合并, 对于点u, 递归建好某子树的01trie, 然后另一子树暴力的每个去查询最大异或和. 然后合并就像线段树合并一样合并, 因为01trie只有0, 1两个儿子, 如果把size大的往size小的一个一个插进去会慢.  询问把小的往大的询问优化时间. 这就是大概的思想.

#include<stdio.h>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = 130005;
const int maxbit = 30;
inline const int read(){  
    register int f = 1, x = 0;
    register char ch = getchar(); 
    while(ch < '0' || ch > '9'){if(ch == '-') f = -1;ch = getchar();}
    while(ch >= '0' && ch <= '9'){x = (x << 3) + (x << 1)+ch-'0';ch = getchar();}
    return f * x;
}
int id, Whereever_I_Go, _wanna, ed, n, m, num, top, as;   
int a[maxn], c[maxn * 31][2], ans[maxn], tr[maxn], w[maxn * 31], h[maxn], s[maxn * 31], dis[maxn], siz[maxn * 31];
struct edge{ int nxt, v;}e[maxn * 2];
inline void add(int u, int v){
	e[++num].v = v, e[num].nxt = h[u], h[u] = num;
	e[++num].v = u, e[num].nxt = h[v], h[v] = num;
}
void insert(int &rt, int who, int pos){
	if(!rt) rt = ++id;
	if(pos == -1) return;
	Whereever_I_Go = (who >> pos) & 1;
	insert(c[rt][Whereever_I_Go], who, pos - 1);
	if(!pos) w[rt] = who;
}
inline int query(int now, int who){
	ed = 0;
	for(int i = maxbit; i >= 0; --i){
		_wanna = ((who>>i) & 1) ^ 1;
		int p = c[now][_wanna];
		if(p) ed |= (1 << i), now = p;
		else now = c[now][_wanna ^ 1];
	}
	return ed;
}
inline int merge(int x, int y){
	if(!x) return y;
	if(!y) return x;
	c[x][0] = merge(c[x][0], c[y][0]);
	c[x][1] = merge(c[x][1], c[y][1]);
	return x;
}
inline void dfs1(int rt, int pos){
	if(!pos) {s[++top] = w[rt]; return;}
	if(c[rt][0]) dfs1(c[rt][0], pos - 1);
	if(c[rt][1]) dfs1(c[rt][1], pos - 1);
}
inline void solve(int u, int v){
	int x = u, y = v;
	if(siz[tr[x]] < siz[tr[y]]) swap(x, y);
	top = 0, dfs1(tr[y], maxbit);
	for(int j = 1; j <= top; ++j) ans[u] = max(ans[u], query(tr[x], s[j] ^ a[u]));
	merge(tr[u], tr[v]), siz[tr[u]] += siz[tr[v]];
}
inline void dfs(int u, int fa){
	insert(tr[u], dis[u], maxbit), siz[tr[u]]++;
	for(int i = h[u]; i; i = e[i].nxt){
		int v = e[i].v;
		if(v == fa) continue;
		dis[v] = dis[u] ^ a[v];
		dfs(v, u); solve(u, v);
	}
}
int main(){
	freopen("irregular.in", "r", stdin);
	freopen("irregular.out", "w", stdout);
	n = read();
	int x, y;
	for(register int i = 1; i <= n; ++i) ans[i] = a[i] = read();
	for(register int i = 1; i <  n; ++i) x = read(), y = read(), add(x, y); 
	dis[1] = a[1];
	dfs(1, 1);
	for(int i = 1; i <= n; ++i) printf("%d ", ans[i]);
}


【信息科学与工程学】【通信工程】计算机科学与自动化——第二百三十三篇 云NaaS服务 系列二01 国家骨干网(含核心网、IP骨干网、OTN骨干网)/城域网【含3G/4G/5G接入网/PON接入网/OTN接入网+OTN/IP城域网+其他】/中心云(多/双/单Region+多AZ/双AZ/单AZ)+边缘DC+边缘计算节点+端计算节点包括IoT传感器、移动终端、CPE设备。通过5G NR(n78频段,带宽100MHz,子载波间隔30kHz)或GPON(下行2.5Gbps,上行1.25Gbps)接入。本地缓存小于10GB,主要用于临时数据暂存。位于地市级机房,部署MEC服务器(Intel Xeon Platin 阅读详情

相关推荐

【信息科学与工程学】【数据科学】数据科学领域——第三篇 数学08 几何学07 网络几何01

编号类型领域问题问题的数学分析参数列表及参数的数值范围关联知识1组合优化 / 计算几何网络几何(几何图论):给定平面上的 n 个点(节点),求连接所有点的总边长最小的树。数学模型:设点集 P={p1​,…,pn​}⊂R2,边权为欧氏距离 d(pi​,pj​)=(xi​−xj​)2+(yi​−yj​)2​。目标是找到一棵生成树 T=(P,E)使得 ∑(i,j)∈E​d(pi​,pj​)最小。该问题是经典 MST 在欧氏度量下的特例,属于 NP-hard 吗?

weixin_49199313的博客 165

【01trie】【启发式合并】P6072 『MdOI R1』Path

题意 每个点有点权,求两条没有交点的路径,使得两条路径的异或和的和最大 n≤3e4时限:3.5sn \le 3e4 \\ 时限:3.5sn≤3e4时限:3.5s 分析 给每个点求出in[i] out[i]in[i] \ out[i]in[i] out[i]表示子树内的最大异或路径和子树外的最大异或路径 in只需要给树dfs时,给Trie进行启发式合并即可两只log求出 对于求out,我们找出全局最大异或路径A-B的异或和为ans,考虑只有A->rt 和 B->rt 这两条路

andyc_03的博客 476

【信息科学与工程学】【通信工程】 第一百四十四篇 城域云网中的数学分析01

(为规模/营收/排名做无商业实质贸易、多层壳、无关多元、低效并购);(中纪委归纳的"利益输送/设租寻租/靠企吃企/影子公司/期权腐败/旋转门"等)。| 1 |​ | 供应链贸易/大宗商贸 | 钢铁/有色/煤炭/化工/粮油/建材等大宗供应链 | 央企二三级贸易平台、地方国企商贸公司 |:国资委(主业核定/经营业绩考核)/集团经营计划:审计/风控/巡视巡察/违规经营投资追责46号令 | 往往是;资金链与注册壳往往集中在"注册便利地" |:主业清单管理+贸易"十不准"+货权/物流/票据"三单匹配"穿透核验。

weixin_49199313的博客 392

【01trie合并】hdu 6191

一道广西邀请赛的题,赛场上想到了trie合并,但是没写过,算不清时间复杂度。于是迟迟没下去手 下来之后瞅了瞅感觉很简单啊,用递归+指针写了写,结果MLE+RE到绝望。 最后改成了非递归终于勉强过了orz。。。 题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6191 题意: 给一棵树,树上每个节点有权值,有q次询问,问

QuanQqqqq的博客 865

【信息科学与工程学】【安全领域】第三十五篇 网络安全算法表

编号算法名称算法的逐步骤思考推理的数学方程式和分解的数学方程式参数/变量列表复杂度(时间/空间)1​AES (高级加密标准)​1. 密钥扩展:从初始密钥生成轮密钥。 2. 初始轮: 3. 主轮循环(Nr-1轮):  - SubBytes:(非线性字节替换)  - ShiftRows:对状态矩阵的行进行循环移位。  - MixColumns:(在GF(2⁸)上的矩阵乘法)  - AddRoundKey: 4. 最终轮:执行SubBytes、ShiftRows、AddR

weixin_49199313的博客 1373

【信息科学与工程学】【产品体系】第二十篇 CDN网络 04

国内 CDN 厂商在多租户隔离场景下实现 μ_c 求解与 LRU 淘汰的结合,公开资料中并未确认任何一家直接部署了 AdaptSize 原版的完整组合。最接近的公开生产级方案是腾讯 CDN 的LACA,通过异常租户检测 + 局部 MRC + DP 搜索实现轻量多租户缓存分配,但其不直接求解 μ_c,而是通过调整租户配额 K_t 间接控制。外层(LACA 式):异常租户检测 → 局部 MRC → DP 搜索租户配额 K_t中层(AdaptSize 式)

weixin_49199313的博客 158

hdu5536(01trie)

  题意就是给一个集合,然后在集合里找到3个数,满足max (si+sj)⊕sk。   枚举i和j,然后把si,sj从字典树里删除,然后再在字典树里找与(si+sj)异或最大的数,取最大值,最后还要还原删除的数。删除    操作是话就是让字典树的节点额外记录一个值cnt,表示经过该节点的数次数。查询的时候,当该节点的cnt&gt;1时才能走到该节点。 #include&lt;bits/std...

SEIZE THE DAY 290

【信息科学与工程学】【通信工程】第二十篇 CDN 网络102 组网和安全设计

2. 算法:令b=-1,j=0,while j<n:b=j,key = key * 2862933555777941757 + 1,j = floor((b+1) * (2^31 / ((key>>33)+1)))。3. 数学方程式:令当前累计权值为c_i,初始c_i=0。每次选择argmax(c_i + w_i),然后更新c_i = c_i + w_i - W(选中者)或c_i = c_i + w_i(未选中者)。节点效用U_i = (r·Σ_{j∈Γ(i)} c_j)/deg(i) - c_i。

weixin_49199313的博客 63

不正常国家 (树链剖分 可持久化Trie 启发式合并)

不正常国家9.27思路: 区间异或最值,应该就可以想到可持久化Trie了,区间异或最值的参考题解 我们找出dfs序,在dfs序上建可持久化Trie,root[i]就是一颗维护dfs序上[1,i]的Trie树。 我们考虑对于i点求它的ans,由于我们要保证选择的两个点的lca就是i,所以只有两种情况,一种就是其中一个点为i,第二种就是两个点在两个不同的子树里面,考虑把i单独看做一个部分,然后一个

w4149 463

【信息科学与工程学】【通信工程】第四篇 通信网络的数学架构10 通信网络核心数学方程式01

卸载:Toffload​=L/R+C/fserver​+Tback​, Eoffload​=Ptx​⋅(L/R)。下层:在切片 s内,为用户 u分配资源,最大化对数效用函数 ∑u​log(ru​), 其中 ru​=∑n∈NRBs​​au,n​⋅SEu,n​, au,n​∈{0,1}表示分配。:在时隙 t, 能量到达 Et​, 电池能量状态 Bt​更新:Bt+1​=min(Bt​−pt​+Et​,Bmax​)。:基站发送:x=α1​P​s1​+α2​P​s2​, α1​+α2​=1, α1​>α2​。

weixin_49199313的博客 368

【信息科学与工程学】计算机科学与自动化——第八十六篇 各类应用上云计算 01

数字孪生:核心是实时性不等式(Δ<Δt)与带宽-精度权衡。数学上归结为带约束的非线性优化。预测性维护:从物理退化方程(Paris 定律)出发,结合贝叶斯推断,云端训练用深度时序模型,边缘推理用轻量模型。机器人协同:本质是多商品流 + 动态障碍物,需用图论(冲突检测)+ 最优控制(轨迹平滑)。工业视觉:延迟由四个环节组成,需用排队论分析流水线瓶颈,量化感知是降低延迟的关键。液压/气动系统上云(涉及流体力学、热力学、控制)机械臂力控/阻抗控制上云(涉及动力学、力/位混合控制)

weixin_49199313的博客 199

LOJ#6198. 谢特 SAM+启发式合并+01trie

并不难的一道字符串题. 显然后缀自动机上进行字典树的启发式合并. 但是一定注意,题中要求的是两个后缀的 LCP 而不是两个前缀的 LCP. 所以在构建后缀自动机的时候要从后向前构建. 刚开始从前向后构建 WA 了半天. 然后进行启发式合并的时候可以对每个节点维护一个 id[x],如果儿子的大小大于点 $x$ 大小就 swap 一下即可. code: #inc...

EM LGH 216

【信息科学与工程学】【通信工程】第七十七篇 城域网+FTTR/FTTB/FTTC/FTTO的数学分析01

总带宽 Btotal​需考虑各业务带宽 Bi​及统计复用性(按80%计算):Btotal​=0.8∑i=1n​Bi​​。调度延迟 Di​=ri​li​​,其中 li​为包长。:dtdN2​​=hνp​APp​σap​​(Nt​−N2​)−τN2​​−hνs​APs​σes​​N2​,N2=上能级粒子数,N_t=总Er³⁺浓度,σ_ap/σ_es=吸收/发射截面,τ=荧光寿命(≈10ms),A=纤芯面积。调度分数 Scorej​=w1​umax​−umin​umax​−uj​​+w2​mmax​mj​​。

weixin_49199313的博客 416

【信息科学与工程学】【通信工程】第三百零五篇 网络中的几何/拓扑/离散数学/组合数学 01

矩 accountant 累计。Bluetooth LE广告包。单细胞RNA-seq计数矩阵。梯度AllReduce算法。蛋白质-蛋白质相互作用网络。联邦学习本地epoch数。资本资产定价模型beta。联邦学习客户端采样比例。联邦学习服务器聚合权重。变分量子本征求解器参数。抵押贷款支持证券现金流。数据加载器工作进程数。流水线并行微批次数量。学习感知图像块相似度。边缘设备CPU利用率。ZigBee网络地址。量子近似优化算法参数。宇宙微波背景温度涨落。

weixin_49199313的博客 235

Dify 深度进阶:从入门到精通AI应用构建

《Dify进阶指南:从基础到高阶的AI应用开发技巧》 本文深入探讨Dify平台的高级功能与应用开发技巧。首先强调核心概念的深化,包括提示词工程进阶、知识库高效管理和模型参数优化。重点介绍智能体应用的开发方法,如何让AI具备自主规划与执行能力。同时讲解工作流编排、前端集成等实用技术,并分享应用运营优化、成本控制等实践经验。文章还展望了Dify生态的发展趋势,为开发者提供从基础到进阶的完整学习路径,助力打造更智能高效的AI应用。

同名公众号:dify实验室 1949

PX4无人机实战:手把手教你用MAVROS实现Offboard模式(附避坑指南)

本文提供了一份详尽的PX4无人机Offboard模式实战指南,重点解析了如何通过MAVROS实现从仿真到实机的控制。内容涵盖硬件连接、串口权限设置、MAVROS配置、核心代码编写以及实机操作全流程,并附有详细的避坑指南和故障排查手册,帮助开发者快速掌握ROS与PX4飞控的集成开发。

weixin_29172201的博客 266

字典树(Trie)

字典树,英文名 trie。顾名思义,就是一个像字典一样的树。

cyyyyds857的博客 990

VisionPro开发实战:CogRecordDisplay控件显示与保存图片的完整流程(附C#代码示例)

本文详细解析了VisionPro开发中CogRecordDisplay控件的图像处理全流程,包括图像加载、显示优化、动态清屏及结果保存等关键操作。通过C#代码示例,展示了如何高效使用该控件进行工业视觉应用开发,特别适合自动化检测系统的开发者参考。

weixin_42523792的博客 274

算法学习08-数据结构03:Trie树(字典树)、并查集

二、并查集 1.例题1:合并 + 判断 2.例题2:合并 + 判断 + 元素个数(连通图/块) 总结

lenard-lhz的博客 551

一位海外开发者的 OpenSPG KAG 实践分享

KAG 是一个以创建和操作知识图谱为核心的框架。知识图谱是数据之间相互关联的可视化和结构化表示,对于搜索引擎、推荐系统和机器学习等应用至关重要。KAG 的目标是提供一个强大的平台,使开发者能够:轻松构建图谱;通过增强算法丰富数据;集成人工智能,以进行更精确的推理。通过理解 KAG,可以明显看出,这个框架旨在帮助从初学者到专业开发者,在项目中创造更优的解决方案。它在简便性和集成方面的优势,使其成为下一代基于数据的应用程序的前景工具。

金融机器智能社区 3405

K8S 1.28.2 + Calico 3.27.3 保姆级安装避坑指南:解决节点NotReady问题

本文提供了一份详细的Kubernetes 1.28.2与Calico 3.27.3集群部署指南,重点解决节点NotReady这一常见问题。通过版本兼容性分析、精细化环境配置、kubeadm初始化参数详解及Calico Operator部署,手把手指导用户避开网络插件配置陷阱,确保集群从NotReady状态恢复健康并稳定运行。

weixin_28835583的博客 392

数据结构(二)Trie树+并查集+堆

1. Trie字符串统计 (Trie树) Trie树作用:高效地存储和查找字符串集合的数据结构。 维护一个字符串集合,支持两种操作: (1)I x 向集合中插入一个字符串 x ; (2)Q x 询问一个字符串在集合中出现了多少次。 共有 N 个操作,输入的字符串总长度不超过 10^5 ,字符串仅包含小写英文字母。 输入格式 第一行包含整数 N ,表示操作数。 接下来 N 行,每行包含一个操作指令, 指令为 I x 或 Q x 中的一种。 输出格式 对于每个询问指令 Q x,都要输出一个整数作为结果,

wangtongyao_的博客 831

从理论到实践:基于Zemax的高分辨率生物显微镜光学系统仿真与优化指南

本文详细介绍了基于Zemax的高分辨率生物显微镜光学系统仿真与优化全流程。从阿贝分辨率公式、柯勒照明等理论基础出发,逐步讲解Zemax建模、像差优化、制造可行性分析等核心步骤,并提供常见问题解决方案。通过实际案例展示如何将理论设计转化为可制造的优化方案,帮助工程师掌握从仿真到实际应用的关键技术。

weixin_29229989的博客 480

ICPC2018南京网络赛 Set (01Trie的合并)

题目链接: Set 大致题意 给出n个集合, 初始集合i内有数字aia_iai​. 有m个操作: 1 x y如果axa_xax​​​和aya_yay​​​不在同一个集合, 则把两个数字所在集合合并. 2 x 给axa_xax​​​​所在的集合中的所有数字加一 3 x k c 询问axa_xax​​所在集合中的所有数字在%2k2^k2k​的情况下有多少个和ccc相同. 解题思路 01Trie 我们先考虑查询操作, 我们如何查询若干个数字的后k位数否和一个数字相同呢? 我们发现可以用01Trie来维护. 每个节

Fau的博客 324

【100%通过率】华为OD机试真题 Java&Go 实现【查找单入口空闲区域】【2022.11 Q4 新题】

给定一个 m xn 的矩阵,由若干字符 和0构成,X表示该处已被占据,0"表示该处空闲,请找到最大的单入口空闲区域.解释:空闲区域是由连通的O组成的区域,位于边界的0可以构成入口,单入口空闲区域即有目只有一个位于边界的0作为入口的由连通的'O"组成的区域。 如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

MISAYAONE的博客 2万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: [BZOJ]3991 [SDOI]2015 寻宝游戏 虚树
下一篇: 论可持久化Trie树贪心在区间最大最小值的运用
MaxMercer
博客等级 码龄10年 55粉丝 261原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值