[EGOI 2025] Laser Strike / 激光突击 题解 📅 发布时间:2026/7/9 2:53:45 👁️ 浏览次数: 对于一条连接叶子的边 (,)我们用 1 表示他的特征值如果其中的叶子是 min(,) 则特征值为 1否则为 0。直接用长度为 −1 的字符串表示每条边的特征值即可。菊花这是简单的先用 1 表示第一条边的特征值那么不用被删的点就是根对于之后的边只需要保留上一条边没有被删的点即可。于是我们可以总结出一个策略策略一如果当前边与上一条边有公共点那么保留公共点删除另一个点。链只考虑链的话也是简单的从左往右删同样只需要知道第一条边的特征值之后每次删除上一条边出现过的点即可。但是这个策略和策略一完全矛盾考虑换个思路。我们钦定这条链的中点为根如果链上有偶数个点那么中点在一条边上交替删除左链和右链的叶子我们先用 2 表示开头删除的两条边的特征值对于之后的边如果满足策略一就遵循策略一否则策略二如果当前边的某个点在之前出现过且不是在上一条边出现的那么删除这个点。举个例子以偶数个点为例在删到只剩两个点之前会一直遵循策略二显然合法对于最后两个点假如在上图中先按顺序删除了 3,4 之后还剩下 (1,2) 这条边由于上一条边是 (2,4) 所以会遵循策略一删除 1 号点。如果是奇数个点的情况不难验证我们最后会恰好剩下钦定的根节点。但是现在我们多用了 1考虑优化假设开头两条边是 (,),(,) 我们需要根据他们的某种关系在只知道一条边的特征值的情况下就能推出另一条边的特征值。一种比较简单的方法是设计两条边的某种偏序关系那么如果 (,),(,) 的特征值一样就把大的那条边放在前面否则把小的那条边放在前面这样我们在得到第二条边时只需要根据他和第一条边的大小关系就能知道他的特征值是啥了。你可以把这个偏序关系设成你喜欢的任何类型只需要保证他是确定且严格的就可以了比如比较一条边构成的无序二元组的字典序。正解首先需要明确的是我们唯一能提供的 1 一定是给出第一条边的特征值否则 Kathrin 将啥都不知道。既然我们考虑过链的情况了那么对于一般树一种经典的思路就是拉出直径在后面我们会说明选直径的用处。同样以直径的中点为根注意如果直径有偶数个点那么会有两个深度为 1 的点。我们遇到的第一个问题是树上可能会有好多完全不相干的叶子而我们只能提供其中一个叶子的信息但不妨先假设我们能通过魔法直接得到一条叶边的特征值。我们先取出所有点 满足 的每个儿子都是叶子然后使用魔法得到其中某条边的特征值删掉他之后按照菊花的思路一直用策略一直到把所有儿子都删光。接下来我们按照深度从大往小一层层删点假设当前删第 层考虑第 −1 层的某个点 他的儿子现在肯定全都是叶子了有些一开始就是叶子有些后来才变成叶子由于我们已经提前把只有叶子儿子的点处理了所以他必定有一个儿子 是后来才变成叶子的也就是说 曾经在某条被删的边出现过那么就可以用策略二把 删掉之后就可以一直用策略一把他的其他儿子全都删掉。注意如果这个选择的 是第 层第一个被删的点那么他不能是第 1 层最后删掉的点的父亲否则在考虑 (,) 这条边时Kathrin 会错误地使用策略一导致把 给删了。不过由于我们在一开始选择了直径中点为根所以此时第 层至少有两个点我们一定能选出某个合法的 。好了现在我们只需要解决魔法的事了我们取出所有需要知道特征值的叶边 (,)根据链最后部分的思路我们需要把他们按照某种顺序排列使得如果 (1,1)(,) 则他们的特征值相同否则不同这样我们只需要知道第一条边的特征值就好了。实现这个顺序也是简单的只需要把他们先从小到大排好序然后reverse所有极长特征值相同的段即可。Kathrin 想要判断一条边是否是需要使用魔法的叶边只需要判断这条边的两个点是否都没有出现过即可。codeKathrin 只需要按照策略无脑执行就可以了但是 Ann 要考虑的就很多了......cpp#includebits/stdc.h #define Debug puts(-------------------------) #define eb emplace_back #define PII pairint,int #define fi first #define se second #define mk make_pair using namespace std; const int N1e35; int OP,n; namespace Ann{ int p,q,dep[N],fa[N],mxdep,deg[N],lst_del; vectorint G[N],vec[N],ans; bool appear[N],del[N]; //在之前是否出现过是否被删掉了 char begin_op; int find_kfa(int x,int k){ while(k) xfa[x],k--; return x; } void dfs0(int u,int f,int rt){ dep[u]dep[f]1; if(!rt||dep[u]dep[rt]) rtu; fa[u]f; for(int v:G[u]) if(v!f) dfs0(v,u,rt); } void dfs1(int u,int f,int d){ vec[d].eb(u),fa[u]f,dep[u]d,mxdepmax(mxdep,dep[u]); for(int v:G[u]) if(v!f) dfs1(v,u,d1),deg[u]; } int op(int u,int son){ return sonu; } void remove(int u){ if((int)ans.size()n-1) return; // if(del[u]){ // cerrWrong!!!the node u is already removeendl; // exit(0); // } del[u]appear[u]true,lst_delu; ans.eb(u); } void clear_leaf(int u){ //删除 u 的所有儿子 if(!u) return; appear[u]true; for(int v:G[u]) if(fa[v]u!del[v]) remove(v);
Java 21+ ZGC生产落地 checklist(含JFR采样模板、ZStatistics日志解码表、GC日志异常模式速查图) 第一章:Java 21 ZGC生产落地全景概览ZGC(Z Garbage Collector)自 Java 11 实验性引入,至 Java 21 成为正式默认的低延迟垃圾收集器,标志着 JVM 在超大堆(TB 级)、亚毫秒级停顿场景下的工程成熟度… 2026/4/1 2:30:47
从飞利浦XML到DICOM:医疗设备工程师如何为心电数据选择最合适的存储格式? 心电数据存储格式深度解析:医疗设备研发者的选型指南 当心电监护仪的电极片贴上患者胸膛,那些微弱的电信号便开始讲述心脏的故事。但对医疗设备工程师而言,如何将这些生命信号转化为可存储、可交换的数字语言,却是一场关乎技术路线… 2026/4/1 2:30:37
告别10年焦虑!AI时代,程序员不转型的只有这15万人! 一眨眼,我已经工作 10 年了。 在 2022 年以前,我一直相信,在这个行业里,只要技术栈钻得深,比如精通三方框架、熟悉 Android Framework、搞定性能优化,就能端稳饭碗。 但从 2023 年开始,一切都变… 2026/4/1 2:30:37
CFCA精品可可设计师高级大考:将虚幻灵感转化为硬核数据模型,实现表达意图的绝对复现 在业余爱好者的圈子里,“表达意图”这四个字听起来充满文艺气息,但在残酷且真实的精品巧克力商业环境中,我必须强调它其实是极其硬核的生存指标。它的潜台词是:你到底有没有能力,将脑海中构想的精品可可风味微观结构&a… 2026/7/9 2:52:14
【ROS 2 机器人技术】动作通信(Action)详解及机器人移动控制实战(附完整项目代码) 前言 在机器人开发中,我们经常需要执行一些耗时较长的任务,比如让机器人导航到目标点、抓取物体、机械臂轨迹跟踪等。这些任务不仅要能发送目标,还需要实时反馈进度,并支持中途取消。ROS 2 中的 动作(Action࿰… 2026/7/9 2:50:13
事务与并发控制:当多人同时操作数据库 事务与并发控制:当多人同时操作数据库一句话总结:事务通过 ACID 特性保证操作的完整性;并发控制通过锁机制和多版本并发控制(MVCC)协调多个事务同时执行,防止丢失修改、读脏数据、不可重复读和幻读四大问题… 2026/7/9 2:48:12
2026 AI 招聘智能体实践:视觉语义架构驱动的安全人才寻访方案 做过招聘数字化的团队大概率都踩过封号的坑:辛辛苦苦养了数月的核心招聘账号,跑几天批量人才寻访就触发风控被永久封禁,甚至连带企业主体受到平台限制。随着 2026 年主流招聘平台全面升级生物行为风控体系,传统基于 DOM 注入、API… 2026/7/9 2:48:12
2026年工业船型开关供应商,选这家就对了! 在工业制造领域,选对供应商,往往决定了产品的成败。2026年,全球供应链波动加剧,原材料成本上涨,客户对产品品质的要求却越来越高。作为电子工程师或采购负责人,你可能正面临一个棘手问题:如何从… 2026/7/9 2:44:11
AI编程助手生死局(Claude Code vs Codex深度拆解):LLM上下文理解力、代码补全准确率与企业级部署成本实测报告 更多请点击: https://intelliparadigm.com 第一章:AI编程助手生死局(Claude Code vs Codex深度拆解):LLM上下文理解力、代码补全准确率与企业级部署成本实测报告 在真实开发场景中,Claude Code 与 GitHub … 2026/7/9 2:42:10
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08