AT_agc009_d [AGC009D] Uninity 题解

news/2025/3/11 13:44:41/文章来源:https://www.cnblogs.com/zifanoi/p/18617202

一道妙妙题。

一句话题意:求点分树的高度最小值。

给所有点填上一个数表示它子树 \(k\),考虑一种填法什么时候满足条件,发现当且仅当任意两对值相同的点之间的路径上存在一个权值更大的点。

考虑随便找一个点作为根从叶子节点开始贪心填值,每次选择能填的最小值,发现这样填最终的值的最大值一定是最小的。

在每个点 \(x\) 上对每个 \(\le \log n\) 的值维护一下子树中是否存在一个这个值的点满足到 \(x\) 的路径上没有一个值更大的点,即可求出 \(x\) 能填的最小的值,时间复杂度 \(\mathcal O(n\log n)\)

参考代码:

#include<bits/stdc++.h>
#define mxn 200003
#define pb push_back
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define rept(i,a,b) for(int i=(a);i<(b);++i)
using namespace std;
int n,ans,f[mxn],s[mxn];
vector<int>g[mxn];
void dfs(int x,int fa){int a=0;for(int i:g[x])if(i!=fa){dfs(i,x);rept(j,0,18)if((a>>j)&1&&(s[i]>>j)&1)f[x]=max(f[x],j+1);a|=s[i];}while((a>>f[x])&1)f[x]++;ans=max(ans,f[x]);s[x]=((a>>f[x])<<f[x])|(1<<f[x]);
}
signed main(){scanf("%d",&n);for(int i=1,x,y;i<n;++i){scanf("%d%d",&x,&y);g[x].pb(y),g[y].pb(x);}dfs(1,0);cout<<ans;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/855392.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCodel微服务

SpringCodel微服务 docker启动命令: systemctl start docker 启动docker systemctl status docker 查看docker状态 systemctl enable docker 设置开机自启设置容器开机自启 docker update status=aways 容器名docker ps 格式化输出容器内容 (1)--format &qu…

验证云通行证失败, 请求连接无效

新合新公有云登录协同开发平台登录时提示"验证云通行证失败, 请求连接无效", 其他私有环境都正常 解决方案: 需要通过金蝶引导程序更新一下BOS程序

给我2分钟,保证教会你在Vue3中实现一个定高的虚拟列表

前言 虚拟列表对于大部分一线开发同学来说是一点都不陌生的东西了,有的同学是直接使用第三方组件。但是面试时如果你简历上面写了虚拟列表,却给面试官说是通过三方组件实现的,此时空气可能都凝固了。所以这篇文章欧阳将会教你2分钟内实现一个定高的虚拟列表,至于不定高的虚…

盘点2024年10款最热门LLM网关/AI网关

随着人工智能技术的飞速发展,将大型语言模型(LLM)部署到生产环节变得日益复杂。特别是在AI和基于LLM的API需求激增的当下,这一挑战尤为突出。Gartner的预测显示,到2026年,由AI和LLM工具驱动的API需求将激增超过30%,这无疑强调了高效模型管理的重要性。 在这方面,企业面…

第四天案例练习-banner效果

Banner设计:是一种用于展示品牌、产品或服务信息的网络广告设计。 通常以横幅的形式出现在网页或移动端屏幕的顶部,也可以在社交媒体平台上使用<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name=&q…

从5天到1天,某大型国有集团的数智化转型经历了什么?

“只有决策快、公司运营快之后,公司才能实现降本增效”。 从北京到新疆、从中国到南非,从奥运会场馆的水泥混凝土到钱塘江畔拔地而起的高楼房产,无不存在着某大型国有集团的身影。 历经60多年沧桑巨变,该集团已发展成为以“新型绿色环保建材制造、贸易及服务,房地产开发经…

旅游开发流程中办公软件的关键作用,你知晓否?

在旅游行业的运营中,产品设计与客服协作的流畅性直接影响着游客的体验和公司的效益。对于 MBTI 中偏好秩序与规划的 J 人来说,选择合适的可视化团队协作办公软件尤为关键。这类软件能够让旅游业务流程清晰透明,促进各部门高效沟通与协作,提升工作效率与个人学习能力。以下将…

13-MSF常见漏洞复现

1、MS08-067、MS10-018漏洞复现,对比bind和reverse攻击模式的区别MS08-067 环境:使用kali中的MSF工具攻击Windows XP开启msfconsole,搜索MS08-067漏洞,进入漏洞利用模块 msfconsole search ms08-067 use exploit/windows/smb/ms08_067_netapi 查看配置项show options设置相…

vue-节流防抖函数的使用

第一步 安装underscore.js第二步引入

Map集合类和Set集合类介绍和题目演练

Map集合的介绍、定义和特点 Map是一种将键(key)映射到值(value)的对象。在Java中,它是一个接口,有像HashMap、TreeMap等多种实现类。定义:以键值对(key - value)的形式存储数据。键是唯一的,通过键可以快速查找、获取对应的值。例如,存储学生学号(键)和学生姓名(…

vue-实现loading页面

效果实现步骤 第一步先编写一个加载页面在APP.vue中引入将控制加载的变量添加到状态管理库中例如pinia或VueX中在loading页面中导入常量并控制主体是否显示在请求拦截器和响应拦截器里配置

超绝!基站/Wi-Fi/GPS定位技术详解与应用示例

今天特别分享定位相关示例,欢迎大家一起来探讨。一、基站/Wi-Fi/GPS定位概述 1.1 基站定位原理 基站定位也就是“LBS定位”,全称是Location Based Service,它包括两层含义: 首先是确定移动设备或用户所在的地理位置;其次是提供与位置相关的各类信息服务。意指与定位相关的…