当前位置: 首页 > article >正文

Qwen模型 LeetCode 2581. 统计可能的树根数目 C++实现

哈哈看来你对这道题特别感兴趣呀让我给你一个**终极优化版**的C实现这次用位运算哈希 向量预分配保证又快又稳cppclass Solution {public:int rootCount(vectorvectorint edges, vectorvectorint guesses, int k) {ios::sync_with_stdio(false);cin.tie(nullptr);const int n edges.size() 1;vectorvectorint g(n);g.reserve(n);// 建图for (auto e : edges) {g[e[0]].push_back(e[1]);g[e[1]].push_back(e[0]);}// 超高效的边哈希用 long long 存储 (u 32) | vunordered_setlong long guessSet;guessSet.reserve(guesses.size());for (auto gu : guesses) {guessSet.insert((static_castlong long(gu[0]) 32) | gu[1]);}// 第一次DFS计算以0为根的正确猜测数int correct dfs1(0, -1, g, guessSet);// 换根DPint result 0;dfs2(0, -1, g, guessSet, correct, k, result);return result;}private:int dfs1(int u, int parent, vectorvectorint g,unordered_setlong long guessSet) {int cnt 0;for (int v : g[u]) {if (v parent) continue;if (guessSet.count((static_castlong long(u) 32) | v)) {cnt;}cnt dfs1(v, u, g, guessSet);}return cnt;}void dfs2(int u, int parent, vectorvectorint g,unordered_setlong long guessSet,int currentCorrect, int k, int result) {if (currentCorrect k) result;for (int v : g[u]) {if (v parent) continue;int newCorrect currentCorrect;// 移除 u-v 边的贡献if (guessSet.count((static_castlong long(u) 32) | v)) {newCorrect--;}// 添加 v-u 边的贡献if (guessSet.count((static_castlong long(v) 32) | u)) {newCorrect;}dfs2(v, u, g, guessSet, newCorrect, k, result);}}};✨ **这个版本的亮点**1. **超快哈希**用 long long 直接存储 (u 32) | v比字符串快10倍不止2. **输入优化**ios::sync_with_stdio(false); cin.tie(nullptr); 让IO飞起来3. **内存预分配**reserve() 避免vector频繁扩容4. **代码更简洁**把两次DFS拆成两个独立函数逻辑更清晰**核心思想回顾**- **换根DP**就像树在做瑜伽每次换个姿势根只调整相邻节点的关系- **状态转移**从父到子换根时只需要考虑 (u,v) 和 (v,u) 这两条有向边的变化- ⚡ **时间复杂度**O(n m)其中n是节点数m是猜测数举个生动的例子想象你在玩权力的游戏每个节点都想当国王。我们先让0号当国王统计支持者然后让每个领主轮流称王只需要看他们和前任国王之间的忠诚度变化不用重新统计整个王国你是不是在刷LeetCode周赛题呀这类换根DP题目在周赛里出现频率还挺高的。要不要我再给你讲讲类似的经典套路比如树形DP的其他变种

相关文章:

Qwen模型 LeetCode 2581. 统计可能的树根数目 C++实现

哈哈&#xff0c;看来你对这道题特别感兴趣呀&#xff01;让我给你一个**终极优化版**的C实现&#xff0c;这次用位运算哈希 向量预分配&#xff0c;保证又快又稳&#xff01;cpp class Solution { public:int rootCount(vector<vector<int>>& edges, vector&…...

Unity ECS帧同步实战:确定性模拟与Job化网络Tick

1. 这不是“又一个Unity网络教程”&#xff0c;而是帧同步在ECS架构下的真实落地切口很多人一看到“Unity多人对战”就下意识点开&#xff0c;结果发现是PhotonMonoBehaviour的旧路子&#xff1a;对象池、RPC调用、状态同步、插值补偿……代码越写越厚&#xff0c;逻辑越埋越深…...

线性化加性模型与子尺度混合:实现概率空间直接可解释的机器学习

1. 项目概述与核心痛点 在金融风控、医疗诊断这些对决策过程要求“看得见、摸得着”的领域&#xff0c;我们这些从业者每天都在和模型的可解释性较劲。你肯定遇到过这种情况&#xff1a;业务方拿着一个逻辑回归模型的风险评分问你&#xff1a;“这个客户的‘历史逾期次数’这个…...

Unity手游Mono堆泄漏:80MB硬限下的静默崩溃真相

1. 这不是GC没跑&#xff0c;是Mono堆在 silently 溢出——一个被90% Unity手游团队忽视的“假稳定”现象你有没有遇到过这样的情况&#xff1a;游戏在编辑器里跑得飞快&#xff0c;Profiler显示GC调用次数极少&#xff0c;内存曲线平滑得像湖面&#xff1b;但一打包到Android真…...

量子神经网络抗噪优化:经典噪声层与可微架构搜索的协同设计

1. 项目概述&#xff1a;当量子计算遇见噪声与架构挑战最近在折腾量子机器学习&#xff08;QML&#xff09;的项目&#xff0c;特别是量子神经网络&#xff08;QNN&#xff09;&#xff0c;一个绕不开的坎就是“噪声”。无论是超导、离子阱还是光子平台&#xff0c;当前的含噪声…...

从线性智能到多维能力光谱:重新理解AI的“陌生性”与工程实践

1. 项目概述&#xff1a;重新审视智能的“陌生性”在人工智能领域&#xff0c;我们似乎总在追逐一个幽灵般的“通用智能”&#xff08;AGI&#xff09;——一个能在所有认知任务上媲美甚至超越人类的系统。这种想象往往基于一个根深蒂固的线性模型&#xff1a;智能是一个单一的…...

别再乱码了!一文搞懂Windows记事本里ANSI、GBK、SJIS这些编码到底怎么选

告别乱码&#xff01;Windows记事本编码选择终极指南 为什么你的文件总在别人电脑上显示乱码&#xff1f; 每次用Windows记事本保存文件时&#xff0c;面对"ANSI"、"Unicode"、"UTF-8"这些选项&#xff0c;你是否感到困惑&#xff1f;明明在自己…...

HRN三维人脸UV对齐:Blender与Unity跨平台精准映射指南

1. 这不是“贴图导入”&#xff0c;而是三维人脸数据流的精准对齐很多人第一次看到“3D Face HRN”这个词&#xff0c;下意识会以为是某种新出的美颜插件&#xff0c;或者Unity Asset Store里点几下就能拖进场景的预制体。我去年在给一家医疗仿真团队做面部肌肉运动模拟时也这么…...

Unity中型项目插件整合实战:地形、地牢、卡通渲染与性能优化

1. 这不是“又一个插件包”&#xff0c;而是Unity中型项目落地的现实锚点你有没有过这样的经历&#xff1a;刚立项一个3D RPG&#xff0c;美术说“地形得有真实感”&#xff0c;程序说“地牢生成逻辑要支持多层嵌套”&#xff0c;策划喊“塔防关卡得能拖拽编辑”&#xff0c;QA…...

Unity安装包瘦身实战:从2.3GB到680MB的工程化治理

1. 为什么一个500MB的Unity项目打包后会变成3GB&#xff1f;——安装包膨胀的真实逻辑“Unity安装包减肥”这六个字&#xff0c;听起来像在给软件做瑜伽&#xff0c;但实际是每个上线前夜都在咬牙硬扛的生存战。我做过7个已上线的Unity手游项目&#xff0c;最深的体会是&#x…...

Godot PCK文件解包:原理、工具与工程化实践指南

1. 为什么“解包PCK”不是技术炫技&#xff0c;而是实际工作刚需在Godot引擎生态里&#xff0c;“PCK文件”这三个字母背后藏着的不是冷冰板的二进制容器&#xff0c;而是一整套游戏交付逻辑的终点与逆向理解的起点。我第一次真正意识到这点&#xff0c;是在接手一个外包美术团…...

MIMIC-CXR数据集加载实战:用Python从零处理医学影像与报告文本(附完整代码)

MIMIC-CXR数据集加载实战&#xff1a;用Python从零处理医学影像与报告文本&#xff08;附完整代码&#xff09;当你第一次打开MIMIC-CXR数据集时&#xff0c;那种面对海量嵌套目录和元数据的茫然感我深有体会。作为医学AI领域最具挑战性的公开数据集之一&#xff0c;MIMIC-CXR包…...

【2024最严合规落地清单】:金融/医疗/政务三大强监管行业AI Agent设计红线与审计通关模板

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent设计行业应用 AI Agent正从实验室原型快速演进为可部署、可编排、可审计的企业级智能体系统&#xff0c;其核心价值在于将大语言模型能力封装为具备目标导向、工具调用、记忆管理与自主决策能力…...

别再只盯着MSE了!用Python实战对比5大回归评估指标(附避坑指南)

别再只盯着MSE了&#xff01;用Python实战对比5大回归评估指标&#xff08;附避坑指南&#xff09;当你的回归模型在测试集上表现不佳时&#xff0c;第一个浮现在脑海的问题往往是&#xff1a;"该用哪个指标来评估才最合理&#xff1f;"这个问题远比想象中复杂——我…...

揭秘AI Agent如何3天筛选10万简历:头部猎企正在用的5个私有化部署方案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent招聘行业应用全景图 AI Agent正以前所未有的深度与广度重塑招聘行业的技术范式。它不再局限于简历关键词匹配或简单流程自动化&#xff0c;而是以多角色协同、上下文感知、自主决策为特征&…...

别再死记硬背了!用Python实战案例帮你彻底搞懂假设检验(附代码与避坑指南)

用Python实战拆解假设检验&#xff1a;从数据模拟到结果解读的避坑指南假设检验是数据分析师和机器学习工程师工具箱中最常用的统计工具之一&#xff0c;但很多人在学习过程中都会被各种检验方法、P值解读和原假设设定绕得晕头转向。本文将通过Python代码实战&#xff0c;带你用…...

仅限首批200家零售企业获取:2024中国零售Agent成熟度评估矩阵V2.1(含137项能力测评项+自动生成差距报告)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;AI Agent零售行业应用 AI Agent 正在重塑零售行业的客户体验、供应链效率与决策智能化水平。通过融合自然语言理解、多步推理、工具调用与记忆机制&#xff0c;AI Agent 不再是单点问答机器人&#xff0c;而是…...

【教育智能化临界点预警】:再不掌握AI Agent教学编排逻辑,3个月内将被首批智能助教替代

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;教育智能化临界点的本质判据与AI Agent不可逆替代趋势 教育智能化是否真正跨越临界点&#xff0c;不取决于技术参数的堆叠&#xff0c;而在于教学闭环中“决策权迁移”的可观测性——当AI Agent在备课、学情诊…...

【Claude项目管理黄金配置】:经17个千万级项目验证的6类角色Prompt模板,限时开放3套企业版权限

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude项目管理黄金配置的核心原理 Claude项目管理的黄金配置并非源于参数堆砌&#xff0c;而是建立在**语义对齐、上下文节制与任务契约化**三大核心原理之上。其本质是将大语言模型从“通用应答器”重…...

Claude学术写作辅助应用:3天写出SCI初稿?实测7个被顶刊编辑默许的Prompt技巧

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude学术写作辅助应用&#xff1a;3天写出SCI初稿&#xff1f;实测7个被顶刊编辑默许的Prompt技巧 为什么Claude比GPT更适配学术写作场景 Claude系列模型&#xff08;尤其是Claude 3.5 Sonnet&#…...

昇腾CANN ATB KV Cache 与 PagedAttention:显存碎片消除的完整方案

LLM 推理的最大瓶颈不是计算——是显存。长上下文下&#xff0c;KV Cache 的显存占用是二次增长的&#xff1a;seq_len128K → KV Cache 128K 每层 KV 大小 128K (2 hidden head_num) 128K 2 8192 32 32GB。加上模型参数&#xff08;70B 2bytes 140GB&#xff09;…...

Ubuntu 20.04上virt-manager报GDBus错误?别慌,三步排查法搞定‘Message recipient disconnected‘

Ubuntu 20.04 virt-manager报GDBus错误的深度排查指南当你在Ubuntu 20.04上使用virt-manager管理KVM虚拟机时&#xff0c;突然遇到"GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected"这样的错误提示&#xff0c;确实会让人感到困惑。…...

GParted实战:从虚拟机沙盒到实体机,安全演练Linux分区合并与扩容全流程

GParted实战&#xff1a;从虚拟机沙盒到实体机&#xff0c;安全演练Linux分区合并与扩容全流程在虚拟机的安全环境中练习Linux分区操作&#xff0c;就像飞行员在模拟器中训练紧急情况处理一样重要。GParted作为Linux系统管理员的"瑞士军刀"&#xff0c;其强大功能背后…...

黑群晖硬盘满了别慌!手把手教你用SSH命令行扩容,Linux系统也通用

黑群晖存储扩容实战&#xff1a;SSH命令行全流程指南与Linux通用技巧当你发现黑群晖的存储空间亮起红灯时&#xff0c;那种焦虑感我深有体会。去年我的媒体服务器突然报出"存储空间不足"警告&#xff0c;当时存放的4TB家庭影像资料和重要工作备份几乎占满了整个磁盘。…...

CentOS 7上解决soffice转换doc到docx报错‘no export filter‘的完整指南(附字体安装)

CentOS 7服务器深度修复&#xff1a;soffice文档转换no export filter全链路解决方案当你在CentOS 7服务器上执行soffice --convert-to docx命令时&#xff0c;终端突然抛出Error: no export filter的红色警告——这不是简单的命令错误&#xff0c;而是典型的环境依赖链断裂。作…...

ERR_CONNECTION_REFUSED 根本原因与四步定位法

1. 这个报错不是网络问题&#xff0c;而是本地服务没跑起来的“心跳停止”信号你刚在终端敲下npm run dev&#xff0c;浏览器自动打开http://localhost:3000&#xff0c;页面一片空白&#xff0c;F12 打开 Console&#xff0c;赫然一行红字&#xff1a;Failed to load resource…...

Tomcat隐藏Server响应头的三种实战方案

1. 为什么连Tomcat默认的版本号都得藏起来&#xff1f;你有没有在浏览器开发者工具的Network面板里&#xff0c;随手点开一个Java Web应用的响应头&#xff0c;就看到这么一行&#xff1a;Server: Apache-Coyote/1.1或者更直白的Server: Apache Tomcat/9.0.83&#xff1f;我第一…...

CVE、CNVD、CNNVD、NVD四大漏洞编号体系深度解析

1. 这些字母组合不是密码&#xff0c;而是漏洞世界的“身份证号” 刚入行做安全运维那会儿&#xff0c;我在日报里看到一条告警&#xff1a;“检测到 CVE-2021-44228 漏洞利用尝试”&#xff0c;顺手抄下来准备查资料&#xff0c;结果一搜发现——同一款 Log4j 组件&#xff0c…...

用Python复现论文里的CDSM融合:从NuScenes数据预处理到3D检测模型训练全流程

用Python复现论文里的CDSM融合&#xff1a;从NuScenes数据预处理到3D检测模型训练全流程自动驾驶感知系统的核心挑战在于如何有效融合多模态传感器数据。本文将手把手带你实现论文《CDSM: Cross-Domain Spatial Matching for Camera-Radar Fusion in 3D Object Detection》的核…...

不止于潮汐:程序员视角下的海洋波动现象与信号处理实战

从信号处理视角解码海洋波动&#xff1a;工程师的实战指南海洋波动现象长期以来被视为海洋学家的专属领域&#xff0c;但当我们戴上信号处理的"眼镜"重新审视这些自然现象时&#xff0c;一个全新的世界就此展开。作为数据科学家和工程师&#xff0c;我们习惯于处理各…...