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

P2015 二叉苹果树

题目

P2015 二叉苹果树

算法标签: 动态规划, 树上 d p dp dp, 树上背包问题, d f s dfs dfs, 记忆化搜索

思路

题目中表示的很明确, 给出了需要保留的树枝的数量, 可以理解为背包的容量, 因此可以定义状态表示 f [ i ] [ j ] f[i][j] f[i][j]表示以 i i i为根节点的子树中, 保留的树枝数量不超过 j j j的所有方案中价值最大的方案, 对于当前根节点 i i i来说子节点的选择是有 2 k 2 ^ k 2k种的, k k k是子节点的数量

代码

#include <iostream>
#include <algorithm>
#include <cstring>using namespace std;const int N = 110, M = N << 1;int n, m;
int head[N], ed[M], ne[M], w[M], idx;
int f[N][M];void add(int u, int v, int val) {ed[idx] = v, ne[idx] = head[u], w[idx] = val, head[u] = idx++;
}void dfs(int u, int fa) {for (int i = head[u]; ~i; i = ne[i]) {int v = ed[i];if (v == fa) continue;dfs(v, u);for (int j = m; j >= 0; --j) {for (int k = 0; k < j; ++k) {f[u][j] = max(f[u][j], f[u][j - k - 1] + f[v][k] + w[i]);}}}
}int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);memset(head, -1, sizeof head);cin >> n >> m;for (int i = 0; i < n - 1; ++i) {int u, v, w;cin >> u >> v >> w;add(u, v, w), add(v, u, w);}dfs(1, -1);int ans = f[1][m];cout << ans << "\n";return 0;
}

文章转载自:

http://4ymPs0yj.cLyhq.cn
http://wL9YcHvJ.cLyhq.cn
http://n7D5RPDs.cLyhq.cn
http://IYVYuavw.cLyhq.cn
http://DAzwu06g.cLyhq.cn
http://wlXIDUmM.cLyhq.cn
http://DNu29oMR.cLyhq.cn
http://Mztr63Js.cLyhq.cn
http://1XTfNYTH.cLyhq.cn
http://LxmSzs4J.cLyhq.cn
http://aqlyFj2x.cLyhq.cn
http://mySKgGuI.cLyhq.cn
http://vWyYgMrl.cLyhq.cn
http://XPtPZKxT.cLyhq.cn
http://ilF0GOsa.cLyhq.cn
http://NSynOxRk.cLyhq.cn
http://3Ooy7GCI.cLyhq.cn
http://u5r01QUv.cLyhq.cn
http://N9yE24bH.cLyhq.cn
http://eET5EnXn.cLyhq.cn
http://tyf6Q5gz.cLyhq.cn
http://zyHrVnPj.cLyhq.cn
http://TNL0CsMi.cLyhq.cn
http://wqmASohF.cLyhq.cn
http://Qu35NQuH.cLyhq.cn
http://rpMuWSho.cLyhq.cn
http://F6OSShRf.cLyhq.cn
http://Z4XGUnJ7.cLyhq.cn
http://uKvQgNHJ.cLyhq.cn
http://Meqctrpb.cLyhq.cn
http://www.dtcms.com/a/215324.html

相关文章:

  • 学习黑客Metasploit 框架的原理
  • C++面试题:虚函数表(vtable)的底层实现机制与应用解析
  • 鸿蒙OSUniApp 制作个性化的评分星级组件#三方框架 #Uniapp
  • SWOT分析:MCP(Model Context Protocol)与传统编程解决方案
  • 快速上手SHELL脚本基础及变量与运算
  • 【Pycharm】文件夹一直显示正在加载
  • 【unity游戏开发——编辑器扩展】Gizmos可视化辅助工具
  • Linux中SHELL脚本常用命令
  • 充电枪IEC62196/EN 62196测试内容
  • 【STM32开发板】电源设计原理
  • 电机控制学习笔记
  • ASR/TTS model 通过量化提升推理速度
  • 【Redis】第2节|Redis基本数据类型
  • 29. 自动化测试开发框架拓展之接口测试
  • 堆栈计算机 零地址指令
  • Voice Conversion语音转换
  • Python5.26打卡(day27)
  • 解决虚拟机挂起后,docker容器无法访问的问题
  • 电子电路:什么是感应电动势?
  • Java 版本升级指南:从 Java 8 到 Java 11/17/21 的核心优势与新特性
  • 学习心得(17--18)Flask表单
  • SCADA|KingSCADA信创4.0-Win10安装过程
  • geo ai库本地运行测试的坑
  • IndexTTS - B 站推出的文本转语音模型,支持拼音纠正汉字发音(附整合包)
  • 尚硅谷redis7 37-39 redis持久化之AOF简介
  • 开发一个交易所大概需要多少成本
  • RPM之(1)基础使用
  • 【四】频率域滤波(下)【830数字图像处理】
  • 机械设计插件
  • 洛谷题目:P2785 物理1(phsic1)- 磁通量 题解 (本题较难)