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

2025/12/16 分享

这天要写的东西其实鸽了……来记今天一个同学问我的一些问题

后续,喜报,现在是 18 早上,17 号直接鸽。

问题 1 :

给一棵无根 树 \(T = (V, E)\) 。独立询问每个节点 \(v_i\) ,删除 \(T\) 的某个叶子得到 \(T_{1}\) ,继续删除 \(T_{1}\) 的某个叶子得到 \(T_{2}\) ,继续迭代……询问删掉节点 \(i\) 最少需要耗费多少节点?

不妨考虑单独以 \(v_i\) 为根怎么处理。

存在一个显然的 case 1 ,即 \(v_i\) 是一个度数为 \(1\) 的根,则我们可以直接删掉 \(v_i\) ,它在无根树 \(T\) 中也属于叶子。

否则是 case 2,\(v_i\) 的度数 \(> 1\) 。则必然允许删 \(v_i\) 之时,\(v_i\) 剩下 \(\leq 1\) 棵子树,显然易证明 \(v_i\) 剩下 \(1\) 棵子树比剩下 \(0\) 棵子树会严格更优,则不妨令这棵子树为 \(son_{j}\) 。于是有两个显然,一是除了 \(son_{j}\) 外的其他子树必须删完,二是 \(son_{j}\) 内的节点一个都不删最优,于是在选定 \(son_{j}\) 的情况下删掉 \(v_i\) 花费的最少节点为 \(|V| - |son_{j}|\) 。显然答案会随着我们对 \(son_{j}\) 的选择而改变,并且显然 \(son_{j}\) 应当选择 \(v_{i}\) 的最大子树。

将 case 1 代入 case 2 依旧成立。

可以 \(O(|V|)\) DP 出以 \(v_i\) 为全局根,每棵子树 \(x\) 的最大子树 \(mxsz(x)\) 。但为了解决问题,存在 \(|V|\) 次换根,每次换根导致根的最大子树改变。

如果每次重新计算最大子树,则重新贡献 \(O(|V|)\) 的 DP 。考虑换根时 DP ,从当前根 \(u\) 到一个子节点 \(v\) 的换根,\(v\) 的最大子树要么是 \(mxsz(v)\) ,要么是 \(|V| - sz(u)\) 。于是每次换根只需要 \(O(1)\) 时间即可得到新根的最大子树。

时间复杂度依赖于一次 \(O(|V|)\) 的树形 DP 和一次 \(O(|V|)\) 的换根 DP ,总时间复杂度依然为 \(O(|V|)\)

问题 2 :
有同学问背包转移中的状态转移,是否可以先遍历体积再遍历物品。
从组合意义上讲显然可以,从算法优化上讲,因为我们可以只保留体积状态,这意味着一定要一个一个物品做动态规划,那么显然不能将二维空间的遍历顺序转置。

这里我想到了倍增,我们显然知道对于每个遍历系数他的物品状态都提前算出来是对的,证据是他的转移方程 \(f(i, j) \gets f(i - 1, j) + f(i - 1, j + 2^{i - 1})\)

显然理论上我们如果能在 j 的物品这意味倒着遍历,则 i 和 j 的顺序也能交换,即 \(f(i, j) \rightarrow f(i + 1, j), f(i + 1, j + 2^{i})\)

http://www.gsyq.cn/news/120018.html

相关文章:

  • 2025年12月广东惠州高光喷涂品牌综合评估与推荐榜单 - 2025年品牌推荐榜
  • MPV播放器终极定制指南:用MPV_lazy打造你的专属观影神器
  • 视频硬字幕提取的三大核心技术突破:从区域定位到智能过滤全解析
  • BlueArchiveAutoScript安卓实体手机一键配置指南:快速实现蔚蓝档案自动化
  • 安卓手机配置游戏自动化脚本完整指南
  • Android应用保活完整指南:突破系统限制实现永久后台运行
  • YOLO-Face人脸检测实战指南:从入门到精通
  • Unitree Go2 ROS2 SDK深度解析:从基础控制到智能应用的完整开发指南
  • QQScreenShot截图工具实战宝典:高效办公的终极利器
  • Go-CQHTTP:零基础搭建高性能QQ机器人的完整指南
  • Go-CQHTTP框架深度解析:构建现代化QQ机器人的技术实践
  • 25、脚本索引及相关技术解析
  • JavaScript转TypeScript终极指南:快速解决代码迁移痛点
  • 深蓝词库转换:三招解决输入法词库迁移难题
  • 20、数据库应用开发:数据处理、升级与部署全解析
  • 百度网盘秒传工具实战攻略:解决文件转存痛点的3大核心方案
  • ELPV-Dataset完整指南:太阳能电池缺陷识别的免费数据集
  • 22、《Microsoft Azure SQL Database 深度解析》
  • 智能客服进阶之路:Kotaemon实现上下文感知对话
  • Go-CQHTTP完整开发手册:打造高效QQ机器人的终极方案
  • 3分钟掌握终极长网页截图技巧:Full Page Screen Capture完整指南
  • 23、深入探索Azure SQL数据库连接与结构信息提取
  • Luci-app-diskman终极指南:5分钟快速掌握OpenWrt磁盘管理
  • Kotaemon部署教程:三步完成RAG应用上线
  • Habitat-Matterport3D完整配置教程:10分钟搭建室内AI仿真环境
  • 英雄联盟皮肤自由切换:R3nzSkin完整使用手册,零门槛解锁全英雄皮肤
  • Mac双设备滚动冲突终极解决方案:Mos独立控制鼠标触控板指南
  • 图像矢量化神器vectorizer:一键将PNG/JPG转换为可缩放SVG
  • 告别模拟器时代:Windows系统直接安装APK的终极方案
  • Windows 11安卓子系统一键安装指南:WSA Toolbox完整使用手册