洛谷 P2996:[USACO10NOV] Visiting Cows G ← 邻接表 + 树形 DP + 树上最大权独立集
【题目来源】https://www.luogu.com.cn/problem/P2996【题目描述】经过了几周的辛苦工作Bessie 终于迎来了一个假期。作为奶牛群中最会社交的牛她希望去拜访 N(1≤N≤50000) 个朋友。这些朋友被标号为 1,2,…,N。这些奶牛有一个不同寻常的交通系统里面有 N−1 条路每条路连接了一对编号为 C1 和 C2 的奶牛 (1≤C1≤N1≤C2≤NC1≠C2 )。这样在每一对奶牛之间都有一条唯一的通路。FJ 希望 Bessie 尽快的回到农场。于是他就指示 Bessie如果对于一条路直接相连的两个奶牛Bessie 只能拜访其中的一个。当然Bessie 希望她的假期越长越好所以她想知道她可以拜访的奶牛的最大数目。【输入格式】第一行1 个整数 N。接下来 N−1 行每行 2 个整数 C1C2表示有一条通路连接了编号为 C1 和 C2 的奶牛。【输出格式】第一行1 个整数代表 Bessie 最多能拜访有多少头奶牛。​​​​​​​【输入样例】76 23 42 31 27 65 6【输出样例】4【数据范围】1≤N≤500001≤C1≤N1≤C2≤NC1≠C2【算法分析】● 本题与“洛谷 P1352没有上司的舞会https://blog.csdn.net/hnjzsyjyj/article/details/168026658”同模板且略简单。● 此题是树形动态规划的经典习题也是树上最大权独立集简单题。1状态定义f[u][0]不选 u 时以 u 为根的子树最大权。f[u][1]选 u 时以 u 为根的子树最大权。2转移方程u当前子树的根节点vu 的所有直接子节点val[u]节点 u 的权值f[u][0] Σ max(f[v][0], f[v][1])f[u][1] val[u] Σ f[v][0]【算法代码】#includebits/stdc.h using namespace std; const int N5e45; vectorint g[N]; long long f[N][2]; int n; void dfs(int u,int fa) { f[u][0]0; f[u][1]1; for(int v:g[u]) { if(vfa) continue; dfs(v,u); f[u][0]max(f[v][0],f[v][1]); f[u][1]f[v][0]; } } int main() { cinn; for(int i1; in; i) { int u,v; cinuv; g[u].push_back(v); g[v].push_back(u); } dfs(1,0); coutmax(f[1][0],f[1][1])endl; return 0; } /* in: 7 6 2 3 4 2 3 1 2 7 6 5 6 out: 4 */【参考文献】https://blog.csdn.net/hnjzsyjyj/article/details/168026658

相关新闻

requests+JSONP解析:百度迁徙数据爬虫与CSV存储实战

requests+JSONP解析:百度迁徙数据爬虫与CSV存储实战

简介:这是一份基于Python的百度迁徙数据爬取脚本,目标是以最小代码量实现人口流动数据的自动化采集,适合网络爬虫初学者巩固requests、HTML解析与pandas数据处理技能,也适合交通、公共健康等领域的分析人员快速获取数据。压缩包仅…

2026/10/18 22:30:42 阅读更多 →
Android Display 服务详解

Android Display 服务详解

Android Display 服务详解 Android 的"显示服务"通常指 DisplayManagerService(DMS),但它只是整条显示链路中的一个环节。下面按"架构 → DMS 本身 → 周边服务 → 调用流程 → 应用 API → 调试"的顺序展开。一、整体架…

2026/10/18 22:30:42 阅读更多 →
SSM图书管理系统课设实战:从环境配置到二次开发避坑指南

SSM图书管理系统课设实战:从环境配置到二次开发避坑指南

简介:这份资源是面向Java Web初学者与课程设计学生的SSM图书管理系统完整项目包,内含可运行的源码工程与配套课设报告,帮助读者理解Spring、SpringMVC、MyBatis三大框架的集成方式,并完成从需求分析到系统测试的完整开发流程。压缩…

2026/10/18 22:30:42 阅读更多 →

最新新闻

openclaw/workbuddy机器人绑定通道后只能默认自己使用问题解决:把settings改到TaoToken

openclaw/workbuddy机器人绑定通道后只能默认自己使用问题解决:把settings改到TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 23:27:29 阅读更多 →
Elastic AI agent skills 实战:把 Claude Code 的 endpoint 改到 TaoToken

Elastic AI agent skills 实战:把 Claude Code 的 endpoint 改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 23:27:29 阅读更多 →
开源年会十年口碑背后:技术活动策划与开发者社区运营实战拆解

开源年会十年口碑背后:技术活动策划与开发者社区运营实战拆解

COSCon 这个牌子能在第十年登上主流媒体版面,还被技术社区评为“最受开发者欢迎的技术活动”,说实在的,作为从第一届就开始参与的老志愿者,我的第一反应不是兴奋,而是感慨。开源年会这种形态,在技术圈里一直…

2026/10/18 23:27:29 阅读更多 →
嵌入式C语言实现10种常用滤波算法:从原理到代码移植

嵌入式C语言实现10种常用滤波算法:从原理到代码移植

简介:这份资源面向嵌入式开发、单片机应用及信号采集方向的工程师与学生,系统整理了10种常用软件滤波算法的C语言实现,帮助解决传感器采样中随机干扰、周期性波动与脉冲噪声等实际问题。压缩包共3个文件,包含1个C源码文件、1个Wor…

2026/10/18 23:27:29 阅读更多 →
10种常用滤波算法C代码实现:从限幅到卡尔曼的选型指南

10种常用滤波算法C代码实现:从限幅到卡尔曼的选型指南

简介:这是一份面向嵌入式开发、单片机应用及信号采集方向的滤波算法实践资料,围绕C语言实现展开,适合需要处理传感器数据、抑制随机干扰的工程师与学生参考。资源系统整理了限幅、中位值、算术平均、递推平均、中位值平均、限幅平均、一阶滞后…

2026/10/18 23:27:29 阅读更多 →
微信小程序AI聊天源码:流式输出与LLM对接实战

微信小程序AI聊天源码:流式输出与LLM对接实战

简介:这份资源是一套微信小程序AI聊天页面的完整前端源码,面向希望快速上手小程序对接大语言模型的开发者与学习者,尤其适合想体验AI对话能力、验证人设设定效果的入门到中级人员。压缩包共6个文件,约386KB,包含wxml页…

2026/10/18 23:26:29 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →