博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树形动态规划
阅读量:6854 次
发布时间:2019-06-26

本文共 462 字,大约阅读时间需要 1 分钟。

  hot3.png

树形结构由于其层次的明显些,具有多阶段的特性。树形DP问题的父状态与子状态对应树与子树,这种状态转移发生在一棵树及其所有子树之间的动态规划,称为树形DP。

Strategic game

有若干个结点,结点之间有路相连,构成树形结构,如果一个结点上放置一个一个士兵,与这个结点相连的路就可以被监视,现在要监视所有的路,问至少要多少士兵。

26212215_ZQYS.jpg左图只需在1处放一个士兵

最优解结构:

dp[i][0]:不在i结点上放置士兵时以i为根的子树被覆盖用到目标的最少数量

dp[i][1]:在i结点上放置士兵时以i为根的子树被覆盖用到目标的最少数量

状态转移方程:

对叶子结点,dp[i][0]=0,dp[i][1]=1

对非叶子结点

dp[i][0]=Σ(i的子节点j的dp[j][1]),此时i的子节点必须被监视

dp[i][1]=Σ(i的子节点j的dp[j][0],dp[j][1]中较小者)+1,此时i的子节点可被监视,加上已放置士兵的i点

转载于:https://my.oschina.net/lfxu/blog/361057

你可能感兴趣的文章
JavaScript中的常用编码
查看>>
HTML5 本地存储
查看>>
C#基础知识
查看>>
[网络流24题] 太空飞行计划 (最大权闭合子图---网络最大流)
查看>>
1、Monkey环境搭建
查看>>
JavaScript的事件监听、捕获和冒泡
查看>>
SpringMVC初写(三)Controller的生命周期
查看>>
Amixer 控制声音
查看>>
java中i++和++i的区别。
查看>>
python3编写网络爬虫17-验证码识别
查看>>
防XSS攻击
查看>>
形形色色的下拉菜单(特效菜单)
查看>>
C++ OpenSSL 之一:编译和使用
查看>>
Class.forName()的原理机制
查看>>
无网络联机打单机游戏---博客园老牛大讲堂
查看>>
#iOS问题记录#动态Html加载本地CSS和JS文件
查看>>
jquery事件之select选中事件
查看>>
IIS负载均衡之介绍篇:Application Request Route详解
查看>>
-webkit-overflow-scrolling
查看>>
钉钉开发系列(十一)钉钉网页扫码登录
查看>>