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

2/5 日哦咦咦啊咦哦咦咦咦啊咦书上背包进阶练习+换根dp初步大学习总结

哦咦咦啊咦哦咦咦咦啊咦哦咦咦啊咦哦咦咦咦啊咦哦咦咦啊咦哦咦咦咦啊咦

\(O(n^2)\) 树上背包

\(O(n^2)\) 伪(人)代码:

for v in graph[u]:for i from 1 to size[u]:for j from 1 to size[v]:dp转移size[u]+=size[v]

复杂度证明

这实际上是在枚举点对,\(i\) 代表从 \(u\) 之前已经合并的子树中选出的节点数量。
\(j\) 代表从当前子节点 \(v\) 的子树中选出的节点数量。

对于整棵树中的任意两个节点 \(x\)\(y\),它们一定有一个最近公共祖先(LCA),设为 \(L\)

在遍历的过程中,只有当 DFS 回溯到 \(L\) 时,\(x\)\(y\) 会进入到同一个状态转移方程里计算。

\(L\) 处,必然有一个时刻,正在把包含 \(x\) 的子分支合并到包含 \(y\) 的主分支(或者反过来)。

这时,内层循环枚举到了 \(x\) 所在的那部分大小,外层循环枚举到了 \(y\) 所在的那部分大小,于是 \(x\)\(y\) 产生了一次贡献。

所以,对于任意两个节点,只会在它的 LCA 处被计算一次。

复杂度:\(O(\frac{n\cdot(n-1)}{2})\approx O(n^2)\)

\(O(nm)\) 树上背包

伪代码:

for v in graph[u]:for i from 1 to min(size[u],m):for j from 1 to min(size[v],m):dp转移size[u]+=size[v]

复杂度证明

写不下了,记得看课件!

换根dp初步

例题:HDU 2196 Computer

http://www.jsqmd.com/news/346666/

相关文章:

  • 【deepseek】RT-Thread 为什么延迟好,但是吞吐量低
  • 基于python的养老院健康跟踪系统分析系统(源码+lw+部署文档+讲解等)
  • AI产品经理实战教程(非常详细),从0到1打造第一个智能体!
  • 基于python的贫困生资助管理系统(源码+lw+部署文档+讲解等)
  • 【deepseek 学习】RT-Thread 简介
  • 20260205_185752_手把手带做_Agent_智能体,直接让你简历加大分!
  • 数据立方体与联邦学习:隐私保护分析方案
  • 【deepseek】多任务调度详解
  • 为什么有人刷了3遍真题还是考不过?说说高项备考的“虚假努力“陷阱
  • Hadoop在大数据领域的工业数据分析应用
  • 特价股票与公司跨界数字化协同创新能力的关系研究
  • 20260205_190119_智能体框架:11_个顶级_AI_Agent_框架!
  • 电磁波传输过程中电磁能量如何流动、存储和转化?——坡印廷方程(一)
  • 【毕业设计】基于Python的商场停车管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • CentOS 6-9哪个版本最稳定?一篇读懂,避免踩坑!
  • 保姆级教程:多台SSH与宝塔面板统一管理搭建,运维效率翻倍
  • 以下因素是双膜储气柜寿命长久的充分条件
  • 基于Python+Django的校园二手物品交易系统(源码+lw+部署文档+讲解等)
  • 我烧了上亿token玩Clawdbot,结果发现国产平替更香,还免费。
  • 从理论到实践:AI视频生成的完整开发流程
  • planning十年演进
  • 基于Python+Django的协同过滤算法在线教育平台的设计与实现(源码+lw+部署文档+讲解等)
  • 如何部署POE交换机?自动模式怎样设置?
  • 巡检十年演进
  • 深度解析:AIGC检测系统是如何识别AI生成内容的? - 我要发一区
  • 基于Python+Django的框架的襄阳四方汽车检测站管理系统(源码+lw+部署文档+讲解等)
  • 基于Python+Django的框架的知否连锁花店管理系统(源码+lw+部署文档+讲解等)
  • 概览
  • 行星减速器十年演进
  • 基于Python+Django的文化旅游信息公开管理平台的设计与实现(源码+lw+部署文档+讲解等)