gym664651(Baozii Cup 3)

A. DeepTreek

首先,我们选择了一个子树拆下来去重新连接之后,剩下的树的形态就不重要了,我们只需要维护去掉以 \(u\) 为根的子树之后,每个深度的点的个数 \(cnt\)

这个可以通过类似于重链剖分中的合并方法做到整体 \(O(n)\)

接下来就是怎么快速求答案的问题了

假设以 \(v\) 为根的子树深度为 \(g[v]\),去掉 \(u\) 子树后的树的深度为 \(maxdep\)

那么连接到深度 \(\leq maxdep-g[v]\) 的点,得到的答案都是 \(maxdep\)

否则答案为 \(dep[u] + g[v]\)

随便实现即可

code
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int NN = 2e5 + 8;
struct Edge{int to,next;
}edge[NN << 1];
int head[NN],edge_cnt;
void add_edge(int u,int v){edge[++edge_cnt] = {v,head[u]};head[u] = edge_cnt;
}int siz[NN],dep[NN],son[NN];
int g[NN];// g[u] 表示以 u 为根的子树的深度
void dfs(int u,int fa){dep[u] = dep[fa] + 1;siz[u] = 1;for(int i = head[u]; i != -1; i = edge[i].next){int v = edge[i].to;if(v == fa) continue;dfs(v,u);siz[u] += siz[v];g[u] = max(g[u],g[v]);if(siz[v] > siz[son[u]]) son[u] = v;}++g[u];
}int n;
ll ans;
inline int lowbit(int x){return x & (-x);}
struct BIT{ll a[NN];ll sum;void add(int x,ll num){sum += num;while(x){a[x] += num;x -= lowbit(x);}}ll ask(int x){if(x == 0) return sum;ll res = 0;while(x <= n){res += a[x];x += lowbit(x);}return res;}void clear(){sum = 0;for(int i = 0; i <= n; ++i)a[i] = 0;}
}cnt,calc;void modify(int u,int fa,int num){cnt.add(dep[u],num);calc.add(dep[u],dep[u]*num);for(int i = head[u]; i != -1; i = edge[i].next){int v = edge[i].to;if(v == fa) continue;modify(v,u,num);}
}
int clac_maxdep(){int res = 0;int l = 1, r = n;while(l <= r){int mid = (l + r) / 2;if(cnt.ask(mid) > 0) l = mid + 1, res = mid;else r = mid - 1;}return res;
}
void dfs2(int u,int fa){for(int i = head[u]; i != -1; i = edge[i].next){int v = edge[i].to;if(v == fa || v == son[u]) continue;dfs2(v,u);modify(v,u,1);}if(son[u]) dfs2(son[u],u);for(int i = head[u]; i != -1; i = edge[i].next){int v = edge[i].to;if(v == fa || v == son[u]) continue;modify(v,u,-1);}cnt.add(dep[u],-1);calc.add(dep[u],-dep[u]);ll maxdep = clac_maxdep();ll tot = n - siz[u],mid = max(0ll,maxdep-g[u]), y = cnt.ask(mid),x = tot - y;ans += maxdep * x + g[u] * y + calc.ask(mid);return;
}void solve(){cin >> n;cnt.clear();calc.clear(); for(int i = 1; i <= n; ++i) head[i] = -1,son[i] = dep[i] = siz[i] = g[i] = 0;edge_cnt = 0; ans = 0;for(int i = 1,u,v; i < n; ++i){cin >> u >> v;add_edge(u,v);add_edge(v,u);}dep[0] = -1;dfs(1,0);for(int i = 1; i <= n; ++i){cnt.add(dep[i],1);calc.add(dep[i],dep[i]);}dfs2(1,0);cout << ans << endl;
}
int main(){ios::sync_with_stdio(false),cin.tie(0);int T;cin >> T;while(T--){solve();}
}

B. Odd Cycle

C. Count Cubes

D. Xor And Mul

I. Operating System

J. Someone's Favourite Problem

M. Classic Revisited

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

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

相关文章

企业AI创新实验室如何持续输出高质量成果?AI应用架构师的「目标-迭代-激励」架构体系

企业AI创新实验室的「成果续航密码」:AI应用架构师的「目标-迭代-激励」体系实践指南 关键词 企业AI创新实验室、目标管理、迭代开发、激励体系、AI应用架构、成果转化、持续创新 摘要 企业AI创新实验室往往陷入「启动易、续航难」的怪圈:要么项目偏离业务需求沦为「技术…

构建具有持续学习与适应能力的AI Agent

构建具有持续学习与适应能力的AI Agent 关键词&#xff1a;AI Agent、持续学习、适应能力、强化学习、迁移学习 摘要&#xff1a;本文聚焦于构建具有持续学习与适应能力的AI Agent这一前沿话题。首先介绍了相关背景&#xff0c;包括目的范围、预期读者等。接着阐述了核心概念及…

2025年教我学英语 - 常用句子

2025年教我学英语 - 常用句子一、 衣(Clothing)What size do you wear?你穿什么尺码? This T-shirt looks great on you.这件 T 恤你穿真好看。 Do you have this in another color?这个有别的颜色吗? I need to…

意识从哪里来:请你来回答

第四十六章&#xff1a;意识从哪里来 有一个不争的事实&#xff0c;人类的自信和骄傲来自我们的意识&#xff0c;我们的精神&#xff0c;我们的智慧。我们也多次思考&#xff1a;“意识从哪里来&#xff1f;”“意识是如何产生的&#xff1f;”本书《探索生命》第五章写了关于…

人类要超越自身语言系统,靠进化显然是不行的

我认为这才是科普的目的&#xff0c;我能告诉你们的东西本来就不多。科普在我这里的功能是启发&#xff0c;是记录思维。前面的章节都是依照现有的知识进行的&#xff0c;然而这一刻我想告诉你&#xff0c;大家可能会被我误导&#xff0c;或者被人类历史发展误导&#xff0c;这…

永磁同步电机驱动控制系统中MCU的抗干扰设计

——基于AS32S601系列微控制器的综合分析摘要永磁同步电机&#xff08;PMSM&#xff09;驱动控制系统作为现代工业自动化、新能源汽车及航空航天领域的核心执行单元&#xff0c;其运行可靠性直接决定了整个系统的性能与安全边界。本文以国科安芯AS32S601系列RISC-V架构微控制器…

【无人机编队】单领导-双跟随无人机协同编队控制附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#…

神奇助力!少样本学习应用助力AI应用架构师的发展

神奇助力&#xff01;少样本学习应用助力AI应用架构师的发展 摘要/引言 在当今AI技术飞速发展的时代&#xff0c;数据的规模似乎成为了模型性能的关键支撑。然而&#xff0c;海量数据的获取、标注往往伴随着高昂的成本与时间消耗。对于AI应用架构师而言&#xff0c;如何在数据…

寒假学习机选购指南:精准适配假期需求,清北道远助力高效提升

寒假是孩子查漏补缺、弯道超车的黄金期,也是摆脱盲目刷题、培养自主学习能力的关键阶段。不同于日常校内学习,寒假学习更注重“针对性补漏、阶段性衔接、高效化利用”,选择一款适配假期场景的学习机,既能减轻家长辅…

解密:智能家居AI应用架构设计中的服务发现机制

解密:智能家居AI应用架构设计中的服务发现机制 关键词:智能家居、AI应用架构、服务发现机制、物联网、设备连接、通信协议、微服务 摘要:本文深入探讨智能家居AI应用架构设计中的服务发现机制,以通俗易懂的语言介绍其背景、核心概念,并详细阐述相关算法原理、实际应用场景…

强烈安利8个AI论文网站,专科生搞定毕业论文+格式规范!

强烈安利8个AI论文网站&#xff0c;专科生搞定毕业论文格式规范&#xff01; AI工具让论文写作不再难 在当今这个信息爆炸的时代&#xff0c;专科生们面对毕业论文的压力越来越大。无论是选题、资料收集还是格式规范&#xff0c;每一个环节都可能让人感到无从下手。然而&…

彼得林奇如何看待股息投资

彼得林奇如何看待股息投资关键词&#xff1a;彼得林奇、股息投资、股票投资、股息率、成长型股票摘要&#xff1a;本文深入探讨了投资大师彼得林奇对于股息投资的看法。通过对相关背景知识的介绍&#xff0c;详细阐述股息投资的核心概念及与其他投资方式的联系&#xff0c;分析…

AI应用架构师不得不学:AI智能体的“工具选择”方法论

AI应用架构师不得不学:AI智能体的“工具选择”方法论 引言:为什么工具选择是AI智能体的“生死局”? 作为AI应用架构师,你可能经历过这样的崩溃时刻: 花费数周集成的图像识别工具,在真实场景中连用户的手写笔记都识别不准,导致智能体“失明”; 为了追求“最先进”选了…

基于深度学习YOLOv8的野生动物识别检测系统(YOLOv8+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于先进的YOLOv8目标检测算法&#xff0c;开发了一套高效准确的野生动物识别检测系统&#xff0c;专门用于识别五种常见野生动物&#xff1a;郊狼(Coyote)、鹿(Deer)、野猪(Hog)、兔子(Rabbit)和浣熊(Raccoon)。系统采用大规模标注数据集进行训练&a…

【图像识别】基于支持向量机SVM的农作物叶子虫害识别与分类附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

《把脉行业与技术趋势》-104-为什么“缸中之脑”是当代AI最真实的写照?当前主流AI是“纯认知缸中之脑”——它拥有超常的符号推理能力,却彻底丧失了“通过身体与世界博弈以校准意义”的生存根基。

计算机的电路软件AI&#xff0c;如果没有机械动力控制&#xff0c;就像缸中之脑&#xff0c;就像智力超群却是瘫痪的人&#xff0c;霍金以他特殊的情况展现了这一现象。唯有具身智能&#xff0c;能够突破精神与物理的界限&#xff0c;直接干预物理世界。霍金&#xff1a;人类版…

基于深度学习YOLOv8的森林火灾烟雾红外检测系统(YOLOv8+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于先进的YOLOv8目标检测算法&#xff0c;开发了一套专门用于森林火灾早期预警的红外烟雾检测系统。系统采用双类别检测框架(nc2)&#xff0c;能够准确识别"fire"(火焰)和"smoke"(烟雾)两类关键目标。项目构建了包含2000张红外…

基于深度学习YOLOv8的水果分类检测系统(YOLOv8+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于YOLOv8目标检测算法&#xff0c;开发了一套高效、精准的水果自动分类检测系统&#xff0c;能够实时识别并分类六种常见水果&#xff1a;苹果&#xff08;Apple&#xff09;、香蕉&#xff08;Banana&#xff09;、芒果&#xff08;Mango&#xf…

基于深度学习YOLOv10的轴承缺陷检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于YOLOv10目标检测算法开发了一套高效的轴承缺陷检测系统&#xff0c;专门用于识别和分类工业轴承中的四种常见缺陷类型&#xff1a;凹槽(aocao)、凹线(aoxian)、擦伤(cashang)和划痕(huahen)。系统采用了包含1085张高质量轴承图像的数据集(训练集…

基于深度学习YOLOv8的足球运动员检测系统(YOLOv8+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于YOLOv8目标检测算法&#xff0c;开发了一套高效的足球比赛场景多目标检测系统&#xff0c;能够实时识别并分类比赛中的关键目标&#xff0c;包括足球&#xff08;ball&#xff09;、守门员&#xff08;goalkeeper&#xff09;、普通球员&#xf…